Как сделать массив из результата запроса sql? - PullRequest
0 голосов
/ 03 августа 2020

Мне не нужен результат массива [1000, 0, 0, 500, 0, 0, 0, 0, 3210, 0] из 1 массива и результат sql MySqlDataReader sdr.Read () .

вот массивы

ArrayList array1 = new ArrayList()[1,2,3,4,5,6,7,8,9,10];
ArrayList arrayresult = new ArrayList();
while (sdr.Read())
{
      transactions.Add(new transaction_details
            {
                  ID = Int32.Parse(sdr["ID"].ToString()),
                  Transdate = DateTime.Parse(sdr["Transdate"].ToString()),
                  Debit = Decimal.Parse(sdr["Debit"].ToString()),
                  TransactionName = sdr["TransactionName"].ToString()
            });
}
//arrayresult.add() - what do I do with this ?

Если ID в sdr ["ID"]. ToString () находится в array1, то результат будет [1, 4, 9]. array1 имеет индекс 10, поэтому для окончательного результата я хочу, чтобы он был [1, 0, 0, 4, 0, 0, 0, 0, 9, 0]. Если ID не существует, будет вставлен 0.

Мне нужен arrayresult, чтобы получить этот результат.

var debit = [1000, 0, 0 ,500, 0, 0, 0, 0, 3210, 0];
var ID = [ 1, 0, 0, 4, 0, 0, 0, 0, 9, 0];
var date= [ "2020-01-01", 0, 0, "2020-01-02", 0, 0, 0, 0, "2020-01-03", 0];

1 Ответ

0 голосов
/ 03 августа 2020

Короткий псевдокод linq:

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;

    public class Program
    {
        public static void Main()
        {
            List<int> inp = new List<int>(){1,4,9};

            List<int> array1 = new List<int>(){1,2,3,4,5,6,7,8,9,10};
            var array1Index = array1.Select((i, index) => new { Index=index, i=i }).ToList();

            List<int> arrayresult = new List<int>();

            var query = from p in array1Index
                select inp.Contains(p.i)==true?p.i:0;

            arrayresult = query.ToList();
            arrayresult.ForEach(x=>{
                Console.Write(x+" ");
            });
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...