如何在 LINQ 中对字符串执行转换
本文关键字:字符串 执行 转换 LINQ | 更新日期: 2023-09-27 18:31:08
我有以下查询,它从名为 dtRows 的数据表中选择行。dtRows 包含 2 列 FieldId 和 FieldValue,FieldId 包含如下值。当我选择 FieldId 时,我需要去除前两个字符并将最后一个字符转换为不同的字符串。例如,1_3_1 应3_FirstName,1_3_2 应3_LastName 1_3_3 应3_MiddleName。有人有什么建议吗??非常感谢您的任何想法!
字段 ID 值:
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")
};
我会写一个函数来计算不同的字符串,并调用它:
var Names = from row in dtRows.AsQueryable()
let id = row.Field<string>("FieldId")
where Convert.ToInt16(id.Substring(2)) == prefix
select new
{
fieldId = ConvertString(id),
fieldValue = row.Field<string>("FieldValue")
};
和
private string ConvertString(string original)
{
// implementation left as an exercise
}