Показывать стоимость List <string> начиная с данного индекса

У меня есть консультация, которой наполнил List со стоимостью колонны так называемое Количество, предполагая, что стоимость список - следующие:

Положение = P стоимость = v

p    v
[0] 41
[1] 42
[2] 43
[3] 44
[4] 45
[5] 46
[6] 47
[7] 9
[8] 10
[9] 11
[10] 12

И у меня есть изменчивая стоимость = "45", и мы видим, что в списке есть стоимость "45", и что Вашего индекса [4], тогда то, что я хочу сейчас, состоит в том, чтобы показывать стоимость списка начиная с положения 4. Здесь мой код:

     string sql = "select * from MyTabla";
     SqlCommand cm = new SqlCommand(sql, con);
     SqlDataReader reader = cm.ExecuteReader();
     while (reader.Read())
       {
   array.Add(Convert.ToString(reader["Cantidad"]));
       }
       string valor= "45";
       if (array.Contains(valor))
       {
       int indice = array.IndexOf(valor);
       }
       foreach (string item in array)
       {
       //imprimir los valores del array apartir del valor de la variable indice
       }
2
задан 09.08.2019, 22:14
3 ответа

Ты можешь заменять foreach одним for, чтобы мочь соглашаться в través ¦-ndice.

           if (array.Contains(valor))
           {
             int indice = array.IndexOf(valor);
             for(int i = indice; i < array.Length;i++)
             {
              string e = array.ElementAt(i);
             //imprimir los valores del array apartir del valor de la variable indice
             }
           }
0
ответ дан 01.12.2019, 22:19
  • 1
    Спасибо за Ваш ответ List< string> у него нет определения ни для Length ни для ElementAt, это помечает красный – Huntzberger 09.08.2019, 22:33
  • 2
    я это решил так: array. Count, Спасибо – Huntzberger 10.08.2019, 01:50

Если ты хочешь разделить с особенного ¦-ndice podr¦-туз использовать funci¦n Skip

foreach (string item in array.Skip(indice)) {
   // código...
}

O использовать один for

for (int i = indice; i <= array.Length; i++) {
   // código...
}
0
ответ дан 01.12.2019, 22:19

Добавь эту ссылку:

using System.Linq; 

, однажды Реализованные ты можешь использовать этот c¦digo:

            List<string> lst = new List<string>();

            lst.Add("10");
            lst.Add("20");
            lst.Add("30");
            lst.Add("45");
            lst.Add("60");    

            var index = lst.IndexOf("45");
            var sublist = lst.Select((x, i) => new { Index = i, Value = x }).Where(item => item.Index >= index).ToList();

Надеялся, что он подает тебя,

типов Привета.

0
ответ дан 01.12.2019, 22:19