Ответ 1
Помимо ограничения столбцов, выбранных для уменьшения пропускной способности и памяти:
DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);
У меня есть DataSet, из которого я получаю DataTable, из которого я возвращаюсь из вызова функции. Он имеет 15-20 столбцов, однако мне нужно только 10 столбцов данных.
Есть ли способ удалить те столбцы, которые мне не нужны, скопируйте DataTable в другой, у которого есть только те столбцы, которые я хочу, или просто лучше перебирать коллекцию и просто использовать нужные столбцы.
Мне нужно записать значения в файл с фиксированной длиной.
Помимо ограничения столбцов, выбранных для уменьшения пропускной способности и памяти:
DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);
Чтобы удалить все столбцы после того, как вы захотите, эта небольшая функция должна работать. Он будет удаляться с индексом 10 (помните, что столбцы основаны на 0), до тех пор, пока количество столбцов не будет равно 10 или меньше.
DataTable dt;
int desiredSize = 10;
while (dt.Columns.Count > desiredSize)
{
dt.Columns.RemoveAt(desiredSize);
}
На вопрос уже дан ответ, и это правильно. Поскольку в вопросе говорится, что этот человек хочет удалить несколько вопросов, я хотел бы добавить в него обновление, когда столкнулся с той же проблемой.
string[] ColumnsToBeDeleted = { "col1", "col2", "col3", "col4" };
foreach (string ColName in ColumnsToBeDeleted)
{
if (dt.Columns.Contains(ColName))
dt.Columns.Remove(ColName);
}