2013-02-26 83 views
2

我有一個數據集從存儲過程中返回,我將其保存到字符串LIST中。LINQ - 轉換爲字符串列表並替換字符

到目前爲止,這是我和它的正常工作:

this.UserOrgs = ds.Tables[0].AsEnumerable() 
      .Select(r => r.Field<string>(0)) 
          .ToList(); 

不過,我也需要與「Y」代替所有的「X」在返回值之前,我把它們放進名單。

我想我的問題是,我可以一次使用LINQ嗎?還是應該在將數據集轉換爲列表之前替換數據集中的字符?

回答

6

當然,這很容易做到這一點 - 你甚至不需要另一個電話:

this.UserOrgs = ds.Tables[0].AsEnumerable() 
          .Select(r => r.Field<string>(0).Replace("X", "Y")) 
          .ToList(); 
+0

puuurfect,謝謝!我可以修剪我現在擁有的YYYYY嗎?結果(2345-YYYYY,我想顯示爲:2345-Y,如果我使用.TrimEnd(「Y」)它會取出所有「Y」,我只有2345- – 2013-02-26 20:24:50

0
var chars = new[] { "X", "Y" }; 
EnumerableRowCollection<string> enumerableRowCollection = dataTable.AsEnumerable().Select(r => chars.Aggregate(r.Field<string>(0), (s, s1) => s.Replace(s1, string.Empty))); 

以上回答將取代所有X,Y全部的。

至少你放在字符數組中的任何東西