2012-11-14 87 views
42

我聲明瞭一些空的字符串,所以它不會在以後拋出錯誤。同時聲明和分配多個字符串變量

我讀過,這是正確的方法:

string Camnr = Klantnr = Ordernr = Bonnr = Volgnr = Omschrijving = Startdatum = Bonprioriteit = Matsoort = Dikte = Draaibaarheid = Draaiomschrijving = Orderleverdatum = Regeltaakkode = Gebruiksvoorkeur = Regelcamprog = Regeltijd = Orderrelease = ""; 

但是,這並不工作。我得到這個錯誤:Klantnr does not exist in the current context

我做錯了什麼?

+1

你爲什麼要在C#中做到這一點。它不可讀,看起來醜陋,像一個不好的書面Javascript。 –

+2

因爲我想在開始時聲明變量,並在稍後(在給定的輸入時)隨時定義它們(取決於給定的輸入) – Mathlight

回答

90

你可以不喜歡它:

string Camnr, Klantnr, Ordernr, Bonnr, Volgnr;// and so on. 
Camnr = Klantnr = Ordernr = Bonnr = Volgnr = string.Empty; 

首先,你必須定義變量,然後就可以使用它們。

+0

這樣做的技巧,謝謝你:P – Mathlight

+0

@TWCrap,不客氣 – Habib

+0

@Habib我們可以爲session和viewbag做同樣的事嗎?喜歡:'Session [「a」] = ViewBag.aa =「hello」;' – Dhwani

22

你可以做到這一點是這樣的:

string Camnr = "", Klantnr = "", ... // or String.Empty 

或者你可以聲明其先下一行用你的方式。

+0

我這樣做了,但我正在尋找更好的方法... – Mathlight

+2

您應該使用String。 Empty(String.Empty不會創建任何對象,因此它比「」更有效,而且可讀性更好) –

+3

@plurby,'string.Empty'與使用'「」'相同。請參閱http://stackoverflow.com/questions/263191/in-c-should-i-use-string-empty-or-string-empty-或 – Habib

3

嘗試用:

string Camnr, Klantnr, Ordernr, Bonnr, Volgnr, Omschrijving; 
Camnr = Klantnr = Ordernr = Bonnr = Volgnr = Omschrijving = string.Empty; 
3

嘗試

string  Camnr , Klantnr , Ordernr , Bonnr , Volgnr , Omschrijving , Startdatum , Bonprioriteit , Matsoort , Dikte , Draaibaarheid , Draaiomschrijving , Orderleverdatum , Regeltaakkode , Gebruiksvoorkeur , Regelcamprog , Regeltijd , Orderrelease ; 

然後

Camnr = Klantnr = Ordernr = Bonnr = Volgnr = Omschrijving = Startdatum = Bonprioriteit = Matsoort = Dikte = Draaibaarheid = Draaiomschrijving = Orderleverdatum = Regeltaakkode = Gebruiksvoorkeur = Regelcamprog = Regeltijd = Orderrelease = ""; 
+0

這是正確的,所以upvote給你,但habib是第一:P – Mathlight

2
string Camnr , Klantnr , Ordernr , Bonnr , Volgnr , Omschrijving , Startdatum , Bonprioriteit , Matsoort , Dikte , Draaibaarheid , Draaiomschrijving , Orderleverdatum , Regeltaakkode , Gebruiksvoorkeur , Regelcamprog , Regeltijd , Orderrelease; 
Camnr = Klantnr = Ordernr = Bonnr = Volgnr = Omschrijving = Startdatum = Bonprioriteit = Matsoort = Dikte = Draaibaarheid = Draaiomschrijving = Orderleverdatum = Regeltaakkode = Gebruiksvoorkeur = Regelcamprog = Regeltijd = Orderrelease = string.Empty; 
3

我稱之爲級聯-聲明的一個例子:

string Camnr = "", 
     Klantnr = "", 
     Ordernr = "", 
     Bonnr = "", 
     Volgnr = "", 
     Omschrijving = "", 
     Startdatum = "", 
     Bonprioriteit = "", 
     Matsoort = "", 
     Dikte = "", 
     Draaibaarheid = "", 
     Draaiomschrijving = "", 
     Orderleverdatum = "", 
     Regeltaakkode = "", 
     Gebruiksvoorkeur = "", 
     Regelcamprog = "", 
     Regeltijd = "", 
     Orderrelease = ""; 

只要我2美分,希望它可以幫助別人。

+2

I感謝你的2美分。但它看起來像你的答案是相同的botz3000(只有你使用縮進) – Mathlight

+0

啊,我現在看到了。你是對的,這是一樣的,除了這實際上包含體面的格式。 – HowlinWulf

0

這是一個相當古老的問題,但要讓某人回去。
這並不像緊湊與上述其他的答案,但相當容易閱讀和使用Visual Studio多線選擇快捷方式輸入[ALT + SHIFT +↑](或其它方向)

string Camnr = string.Empty; 
string Klantnr = string.Empty; 

類型的所有新行上的變量名稱。在他們面前多選擇一個「字符串」類型。在它們後面多選,然後輸入「= string.Empty;」。