C# 统计datatable中一列所有字符串出现的次数,查找只出现了一次的字符串;汇总到另一个datatable
时间: 2024-10-20 08:03:05 浏览: 24
要统计 `DataTable` 中一列(假设为 `ColumnName`)所有字符串出现的次数,并找出只出现一次的字符串,可以使用以下步骤:
1. 创建一个新的 `DataTable` 用于存储结果[^2]。
```csharp
// 假设我们有一个DataTable named data
var resultTable = new DataTable();
resultTable.Columns.Add("OriginalString", typeof(string));
resultTable.Columns.Add("Frequency", typeof(int));
```
2. 遍历原 `DataTable` 的指定列[^1],对每个字符串计算出现频率。
```csharp
foreach (DataRow row in data.Rows)
{
string originalString = row["ColumnName"].ToString();
int frequency = data.AsEnumerable()
.Where(r => r.Field<string>("ColumnName") == originalString)
.Count();
// 如果频率为1,添加到新表中
if (frequency == 1)
{
resultTable.Rows.Add(originalString, frequency);
}
}
```
3. 结果 `DataTable` 包含了原字符串及其出现次数,现在你可以查看那些只出现一次的字符串。
```csharp
foreach (DataRow newRow in resultTable.Rows)
{
if (newRow.Field<int>("Frequency") == 1)
{
Console.WriteLine($"String '{newRow["OriginalString"]}' appears only once.");
}
}
```
阅读全文