Нет, вы не можете сделать это без цикла.Даже если бы был такой метод, как DataSet.CloneManyTables
, он использовал бы цикл для вас.Решение LINQ также будет использовать цикл.Поэтому используйте следующее:
Вы можете использовать DataTable.Clone
, например, с 100 таблицами клонов:
for (int i = 1; i <= 100; i++)
{
DataTable tClone = tSource.Clone(); // tSource is your source-table
tClone.TableName = $"{tClone.TableName}_{i + 1}";
ds.Tables.Add(tClone); // ds is your DataSet
}
Столбцы могут иметь одинаковые имена, но имя таблицы должно быть уникальным.