2016-04-26 56 views
0

在C#中,我想獲取環境變量的列表,並將它們變成字符串。然而,當我exectute的代碼,我得到錯誤:C#我如何返回一個環境變量作爲字符串

嵌入語句不能在字符串聲明或標記語句

的TestString = de.Value;

using System; 
using System.Collections; 
using System.IO; 

class Sample 
{ 

public static void Main() 
{ 
    Console.WriteLine(); 
    Console.WriteLine("GetEnvironmentVariables: "); 
    foreach (DictionaryEntry de in Environment.GetEnvironmentVariables()) 
     string teststring = de.Value; 
     string testpath = String.Format("\nValue as string: ",teststring); 
     Console.WriteLine(testpath); 
     Console.WriteLine("\n {0} = {1}", de.Key, de.Value);  
} 
}  

我該如何解決這個問題,爲什麼會發生這種錯誤?

+5

的你缺少'{}' –

+0

謝謝!如果我評論了有問題的話,那麼foreach聲明就沒有{}。奇怪的,但它修復了它! – olorin

+1

如果你只在foreach中執行1條指令,那麼你不需要大括號,但不能是一個聲明(在你的例子中'string teststring = de.Value;') –

回答

1

你需要把{}在你foreach塊,這是因爲:

  1. 你有2個變量聲明
  2. 你有超過1行語句

public static void Main() 
{ 
    Console.WriteLine(); 
    Console.WriteLine("GetEnvironmentVariables: "); 
    foreach (DictionaryEntry de in Environment.GetEnvironmentVariables()) 
    { 
     string teststring = de.Value; 
     string testpath = String.Format("\nValue as string: ",teststring); 
     Console.WriteLine(testpath); 
     Console.WriteLine("\n {0} = {1}", de.Key, de.Value); 
    } 
} 
相關問題