быстрое копирование значений double [] во весь столбец в виде данных - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть вопрос о назначении значений массива (double[]) в столбец в DataTable в C #. Я получил double[] из столбца в моей таблице данных, как показано ниже.

double[] ToBeChanged = mydatatable.AsEnumerable().Select(s => s.Field<double>("column")).ToArray<double>();

После обновления некоторых значений в ToBeChanged я хочу быстро вернуть его к исходному столбцу. Как я могу реализовать это как можно проще или быстрее?

1 Ответ

0 голосов
/ 22 апреля 2019

Один подход будет использовать .Zip метод

var pairs = mydatatable.AsEnumerble().Zip(toBeChanged, (row, value) => (row, value));

foreach (var (row, value) in pairs)
{
    row.SetField("column", value);
}

Но я бы не советовал использовать его для производственного кода, потому что корректность будет полностью зависеть от предположения, что строки и значения упорядочены правильно.

Другие возможные подходы могут быть:

  • Обновить значения в пределах DataTable.
  • Передать DataRow экземпляр метода, который обновит значения
  • Используйте словарь, чтобы связать обновляемые значения со значением идентификации строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...