-4

SqlConnection の配列を作成することは可能ですか? たとえば、

SqlConnection[] con = new SqlConnection[4];
con[0].ConnectionString = "my connection string";

このコードを書くとエラーは発生しませんが、実行すると次のように表示されます。

Object reference not set to an instance of an object.
4

3 に答える 3

6

配列リストにオブジェクトを割り当てていません。

con[0] = new SqlConnection("my connection string");

また、書くときは、

var con = new SqlConnection[4];

これは、 SqlConnectionの 4 つの新しいオブジェクトを作成したという意味ではなく、4 つのSqlConnectionオブジェクトへの参照を保持するArrayオブジェクトが作成されたことを示しています。 したがって、最初にオブジェクトを保存するには、それらを作成してから配列に割り当てる必要があります。

con[0] = new SqlConnection("my connection string 1");
con[1] = new SqlConnection("my connection string 2");
con[2] = new SqlConnection("my connection string 3");
con[3] = new SqlConnection("my connection string 4");
于 2013-11-08T12:38:03.133 に答える
2
var con = new SqlConnection[4];
con[0] = new SqlConnection("my connection string");
于 2013-11-08T12:37:21.020 に答える
0

後:

SqlConnection[] con = new SqlConnection[4];

これ...

con[0].ConnectionString = "my connection string";

..以下と同等:

SqlConnection con; // Type defined, but no instance!
con.ConnectionString; 

あなたが望むのは次のものと同等です:

SqlConnection con = new SqlConnection();
// Accessible, since you now have an instance:
con.ConnectionString = "some string"; 

あなたの場合:

var con = new SqlConnection[4];
con[0] = new SqlConnection();
con[0].ConnectionString = "my connection string"
于 2013-11-08T12:40:59.447 に答える