Динамический массив в c # - PullRequest
1 голос
/ 17 декабря 2010

У меня есть массив параметров SQL как ...

SqlParameter [] sqlParams = новый SqlParameter [2];

Если я хочу добавить больше параметров, могу ли я добавить в текущий массив?

Ответы [ 3 ]

12 голосов
/ 17 декабря 2010

Нет, вы не можете добавлять элементы. В .NET массивы статичны. Если вам нужны динамические коллекции, вы можете использовать универсальный List<T>, к которому можно динамически добавлять элементы.

var sqlParams = new List<SqlParameter>();
sqlParams.Add(param1);
sqlParams.Add(param2);
...

// convert to a static array if needed
SqlParameter[] result = sqlParams.ToArray();
3 голосов
/ 17 декабря 2010

Вероятно, лучше использовать System.Collections.Generic.List <>

List<SqlParameter> sqlParams = new List<SqlParameter>();
sqlParams.Add(x);
sqlParams.Add(y);
sqlParams.Add(z);

Если вам нужен массив, вы всегда можете перейти:

sqlParams.ToArray();
1 голос
/ 18 декабря 2010

На самом деле, я бы просто использовал встроенное свойство Parameters SqlCommand.

    System.Data.SqlClient.SqlConnection connection 
        = new System.Data.SqlClient.SqlConnection("connection string goes here");
    System.Data.SqlClient.SqlCommand command = connection.CreateCommand();

    System.Data.SqlClient.SqlParameter parameter = command.CreateParameter();
    parameter.ParameterName = "@ParameterName";
    parameter.DbType = DbType.String;
    parameter.Value = "Some String Value";

    command.Parameters.Add(parameter);

Затем, если вам нужен доступ к ним, вы можете сделать это:

SqlParameter param = command.Parameters[0];

Таким образом, вам не нужно возиться с добавлением диапазона и отслеживанием отдельного массива или списка <>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...