Заменить список массивом

ASP.NEET спросил: 03 февраля 2018 в 12:49 в: c#

У меня есть следующий метод, который я покажу ниже:

public static string loadLista(string pStrOp)
{
    System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["WXYZ"].ConnectionString);
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("select distinct RTRIM(LTRIM(c.str_val)) as Id , RTRIM(LTRIM(c.str_val)) as Value " +
                                                                                "from dbo.toc a " +
                                                                                "inner join dbo.propval c on c.tocid = a.tocid and c.PROP_ID = 698 " +
                                                                                "where a.pset_id = 114 and c.str_val is not null " +
                                                                                "order by 2 asc;", conn);    var items = new List<Parametro>();    try
    {
        conn.Open();        using (var dr = cmd.ExecuteReader())
        {
            if (dr.HasRows)
            {                 int fc = dr.FieldCount;
                 var colums = new Dictionary<int, string>();
                 for (int i = 0; i < fc; i++)
                   colums.Add(i, dr.GetName(i));                object[] values = new object[fc];                while (dr.Read())
                {                dr.GetValues(values); //Get All Values
                Parametro item = Activator.CreateInstance<Parametro>();
                var props = item.GetType().GetProperties();                foreach (var p in props)
                {
                    foreach (var col in colums)
                    {
                        if (p.Name != col.Value) continue;
                        var value = values[col.Key];
                        if (value.GetType() != typeof(DBNull))
                        {
                            p.SetValue(item, value, null);
                        }   
                    }                }                items.Add(item);                }            }
        }
    }
    catch (Exception ex)
    {
        return new System.Web.Script.Serialization.JavaScriptSerializer().Serialize("");
    }    return new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(items);
}

Как вы можете видеть, я использую SqlCommand для создания запроса, а затем сохраняю его в DataReader для обработки данных и, наконец, сохранить их в списке. Метод работает отлично, вопрос заключается в том, как я могу заменить использование списков в этом методе, вместо этого использовать массивы, поскольку у меня есть ограничение, которое мешает мне использовать списки. Если вы могли бы дать мне примененный пример, это было бы очень полезно. Заранее благодарим за предоставленную помощь.

0 ответов