After:
SqlConnection[] con = new SqlConnection[4];
This...
con[0].ConnectionString = "my connection string";
..is equivalent to:
SqlConnection con; // Type defined, but no instance!
con.ConnectionString;
What you want is the equivalent of:
SqlConnection con = new SqlConnection();
// Accessible, since you now have an instance:
con.ConnectionString = "some string";
In your case:
var con = new SqlConnection[4];
con[0] = new SqlConnection();
con[0].ConnectionString = "my connection string"