86

空の文字列を宣言しているので、後でエラーがスローされることはありません。

私はこれが適切な方法であったことを読みました:

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

私は何を間違えましたか?

4

11 に答える 11

166

あなたはそれを次のように行うことができます:

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

最初に変数を定義する必要があり、次にそれらを使用できます。

于 2012-11-14T07:16:21.610 に答える
54

あなたはこのようにそれをすることができます:

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

または、最初にすべてを宣言してから、次の行で自分の方法を使用することもできます。

于 2012-11-14T07:15:38.057 に答える
10

私が連結宣言と呼んでいるものの例:

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

ちょうど私の2セント、それがどこかで誰かを助けることを願っています.

于 2014-10-10T14:23:00.397 に答える
5

試してみてください:

 string Camnr, Klantnr, Ordernr, Bonnr, Volgnr, Omschrijving;
 Camnr = Klantnr = Ordernr = Bonnr = Volgnr = Omschrijving = string.Empty;
于 2012-11-14T07:16:53.890 に答える
4

試す

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 = "";
于 2012-11-14T07:19:51.523 に答える
4
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;
于 2012-11-14T07:22:00.843 に答える
4

注意:複数の宣言での暗黙の型は許可されていません。var以下のコンパイルエラーが発生する可能性があります。

var Foo = 0, Bar = 0;

暗黙的に型指定された変数に複数の宣言子を含めることはできません

同様に、

var Foo, Bar;

暗黙的に型指定された変数は初期化する必要があります

于 2018-07-12T21:31:23.003 に答える
2

すべての情報は既存の回答にありますが、個人的には簡潔な要約が欲しかったので、ここで試してみます。コマンドはint簡潔にするために変数を使用しますが、string.

複数の変数と宣言するには:

  • いずれか:別々の値で初期化します:
int i = 0, j = 1; // declare and initialize each, single-type only.
// Note: `var` is NOT supported as of C# 8.0, but see below.

// ===
// C#  7.0+ / .NET Framework 4.7+ using syntactic sugar based on *value tuples*:

// Infer the types from the RHS tuple elements.
var (i, s) = (0, "hi");

// Explicitly type the individual variables.
(int i, string s) = (0, "hi");
  • または:それらをすべて同じ値で初期化します。
int i, j;    // *declare* first (`var` is NOT supported)
i = j = 42;  // then *initialize* 

// Single-statement alternative that is perhaps visually less obvious:
// Initialize the first variable with the desired value, then use 
// the first variable to initialize the remaining ones.
int i = 42, j = i, k = i;

機能しないもの:

  • 値タプル構文を使用しない限りvar、上記のステートメントでは使用できません。varこれは、(a) 初期化値 (そこから型を推測できる) を持つ宣言、および (b) C# 8.0 以降でのみ機能するためです。 、その宣言がステートメント内の唯一の宣言である場合(そうでない場合は、コンパイル エラーが発生しますerror CS0819: Implicitly-typed variables cannot have multiple declarators)。

  • 複数宣言ステートメントの最後の変数の後にのみ初期化値を配置すると、最後の変数のみが初期化されます。

    int i, j = 1; // initializes *only* j

于 2020-02-04T03:05:11.987 に答える
0

かなり古い質問ですが、誰かが戻ってきた場合に備えて。
これは上記の他の回答ほどコンパクトではありませんが、かなり読みやすく、Visual Studio の複数行選択ショートカット [Alt+ Shift + ↑] (または他の方向) を使用して入力するのが簡単です。

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

新しい行にすべての変数名を入力します。それらの前で「文字列」タイプを複数選択します。それらの背後で複数選択し、「= string.Empty;」と入力します。

于 2017-11-17T16:55:56.593 に答える