3

私は Vb.Net プログラマーで、C# は初めてです

Vb.Net では、AddRange を使用して DataGridView に複数の列を追加します

dim Col1 As DataGridViewTextBoxColumn()
dim Col2 As DataGridViewTextBoxColumn()
    MyDataGridView1.Columns.AddRange({Col1, Col2})

これはVB.Netで受け入れられています

私が書いたC#で

DataGridViewTextBoxColumn Col1 = New DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn Col2 = New DataGridViewTextBoxColumn(); 

     MyDataGridView1.Columns.AddRange({Col1, Col2});

これは C# では受け入れられません。どこが間違っているの?

4

4 に答える 4

4

からDataGridViewColumnCollection.AddRange

パラメーター

タイプ: System.Windows.Forms.DataGridViewColumn[]

追加する DataGridViewColumn オブジェクトの配列。

だから、私はあなたが使うべきだと思います;

MyDataGridView1.Columns.AddRange(new[] { Col1, Col2 });

あなたは C# が初めてなので、new[]意味を説明する必要がありますか?

Microsoftは、暗黙的に型指定された配列と呼ばれる概念をC# 3.0で言語に導入しました。この概念では、変数のデータ型を明示的に定義する必要はありません。コンパイラが配列の要素を調べて、適用する型を決定する必要があることを指定できます。

varデータ型の最初の宣言は、キーワードに置き換えられます。

var numbers = new[] {"one", "two", "three"};

ビルドすると、コンパイラは配列の内容をスキャンし、すべてのアイテムがstring. したがって、文字列配列を作成します。

于 2013-03-28T11:43:15.150 に答える
2
DataGridViewTextBoxColumn Col1 = new  DataGridViewTextBoxColumn();
Col1.HeaderText = "test";
DataGridViewTextBoxColumn Col2 = new DataGridViewTextBoxColumn();
Col2.HeaderText = "test2";

MyDataGridView1.Columns.AddRange(new[] {Col1,Col2});

「new」もすべて小文字であることに注意してください。

于 2013-03-28T11:42:23.987 に答える
1

「New」キーワードは小文字にする必要があります。

それ以外は、次の{ Col1, Col2 }ような接頭辞を付けます:

MyDataGridView1.Columns.AddRange(new[] { Col1, Col2 });

さらに、Resharper は、配列が に型指定されている場合に警告を発するDataGridViewTextBoxColumnため、次のように、配列の型をパラメーターの型に明示的に一致させたい場合があります。

MyDataGridView1.Columns.AddRange(new DataGridViewColumn[] { Col1, Col2 });
于 2013-03-28T11:41:27.987 に答える
0

これを試して:

MyDataGridView1.Columns.AddRange(new DataGridViewColumn[] { Col1, Col2 });

お役に立てれば。

于 2013-03-28T11:45:17.087 に答える