簡體   English   中英

如何在LINQ中對字符串執行轉換?

[英]How to perform transformations on strings in LINQ?

我有以下查詢,該查詢從稱為dtRows的數據表中選擇行。 dtRows包含2列FieldId和FieldValue,而FieldId包含以下值。 當我選擇FieldId時,我需要剝離前兩個字符並將最后一個字符轉換為其他字符串。 例如,1_3_1應該是3_FirstName,而1_3_2應該是3_LastName,而1_3_3應該是3_MiddleName。 有人有什么建議嗎? 非常感謝您的任何想法!

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")
                   };

我將編寫一個函數來計算不同的字符串,然后調用它:

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM