0
我有以下查询,选择名为dtRows的数据表中的行。 dtRows包含2列FieldId和FieldValue,FieldId包含如下值。当我选择FieldId的时,我需要去掉前两个字符并将最后一个字符转换为不同的字符串。例如,1_3_1应该是3_FirstName,1_3_2应该是3_LastName,1_3_3应该是3_MiddleName。任何人有任何建议?非常感谢任何想法!如何在LINQ中对字符串执行转换?
FieldId值:
1_1_1
1_1_2
1_1_3
1_2_1
1_2_2
1_2_3
1_3_1
1_3_2
1_3_3
var Names = from row in dtRows.AsQueryable()
where Convert.ToInt16(row.Field<string>("FieldId").Substring(2)) == prefix
select new
{
fieldId =
fieldValue = row.Field<string>("FieldValue")
};
你会怎么做,如果最后一个字符是不是在范围1-3? – 2012-04-12 19:03:39
只需切换fieldId.Last()并把这些值... – Servy 2012-04-12 19:05:50
@Jon Skeet,我需要保留最后一个字符的所有可能的值和相应的名称在一些变量,然后查找值并检索适当的名字。正如Phoog所建议的那样,编写一个单独的函数适用于我,但我正在查看是否可以使用Linq。谢谢! – Jyina 2012-04-12 20:13:39