C# 从DataRow中删除第一列和最后两列

C# 从DataRow中删除第一列和最后两列,c#,C#,我想从行中删除前2列和最后2列,我可以通过以下行删除前2列: IEnumerable<object> fields = row.ItemArray.Skip(2); IEnumerable fields=row.ItemArray.Skip(2); 但我还需要删除最后两列,请查看以下完整代码并给出建议: StringBuilder sb = new StringBuilder(); foreach (DataRow row in table.Rows) { IEnume

我想从行中删除前2列和最后2列,我可以通过以下行删除前2列:

IEnumerable<object> fields = row.ItemArray.Skip(2);
IEnumerable fields=row.ItemArray.Skip(2);
但我还需要删除最后两列,请查看以下完整代码并给出建议:

StringBuilder sb = new StringBuilder();

foreach (DataRow row in table.Rows)
{
    IEnumerable<object> fields = row.ItemArray.Skip(2);
    sb.AppendLine(string.Join(",", fields));
}
File.WriteAllText(@"C:\Desktop\test.csv", sb.ToString());
StringBuilder sb=新建StringBuilder();
foreach(table.Rows中的DataRow行)
{
IEnumerable fields=row.ItemArray.Skip(2);
sb.AppendLine(string.Join(“,”字段));
}
writealText(@“C:\Desktop\test.csv”,sb.ToString());

它不会删除,它会跳过数组中的前两项。因此,
skip
可以与
take
一起使用,如下所示,以获取第一个从和最后一个到:

StringBuilder sb = new StringBuilder();

foreach (DataRow row in table.Rows)
{
    var from = 2;
    var to = 2;
    IEnumerable<object> fields = row.ItemArray.Skip(from).Take(row.ItemArray.Length - from - to);
    sb.AppendLine(string.Join(",", fields));
}
File.WriteAllText(@"C:\Desktop\test.csv", sb.ToString());
StringBuilder sb=新建StringBuilder();
foreach(table.Rows中的DataRow行)
{
var-from=2;
var-to=2;
IEnumerable fields=row.ItemArray.Skip(from).Take(row.ItemArray.Length-from-to);
sb.AppendLine(string.Join(“,”字段));
}
writealText(@“C:\Desktop\test.csv”,sb.ToString());