搜索表中的行并将它们与其他行进行比较

时间:2012-12-05 21:54:57

标签: c#

我创建了一个解析一些文本文件的应用程序,然后将信息分类并分类到表中

这是一个示例

NODE    DSP Name    BUS   IDENT   STATION         REF1                  REF2

nnn1_1  S|xxxx|A1   1      1        1             S|yyyyyyyyyy|A1       S|zzzzzzz|A1

mmm1_1  R|xxxx|A1   1      1        1             R|yyyyyyyyyy|A1       R|zzzzzzz|A1

xxx1_2  R|xxxx|A1   1      1        1             R|yyyyyyyyyy|A1       R|zzzzzzz|A1

yyy1_1  R|xxxx|A1   1      1        1             R|yyyyyyyyyy|A1       R|zzzzzzz|A1

我需要检查3件事

  1. 如果在DSP名称中有一个S|,它至少有一个对应的R |
  2. 相应的R|具有相同的BUSIDENTSTATION
  3. REF1REF2匹配名称
  4. 我可以通过一次一行拉动表格并构建所有(S|)的列表然后一次有该列表搜索相应的({{1 }})... 我已经在一个数据表中有这些,以及一个CSV文件

    有更简单的方法吗?像LINQ一样?

1 个答案:

答案 0 :(得分:0)

这是让你入门的东西:

var dspStartsWithR = From row in myDataTable.Rows
                     Where (string)row("DSP Name").StartsWith("R|")
var dspStartsWithS = From row in myDataTable.Rows
                     Where (string)row("DSP Name").StartsWith("S|")

一旦你得到了你的结果,你将不得不做一些子串的组合来去除你不需要的字符,进行比较等等。我的C#生锈了很抱歉如果代码不对