2012-02-20 68 views
2

我有單元格的值保存在列表這樣的HTMLEncode列表<string>值

public List<string> Cell { get; set; } 

我想要做的HTMLEncode這個列表中的每個值。 任何人都可以幫助我嗎?

+0

哪裏是哪裏,你都添加到列表或列表單元代碼..?請顯示相應的代碼.. – MethodMan 2012-02-20 14:00:14

回答

0

您可以創建做的伎倆

public static class MyCustomListMethod 
    { 
     public static void Add(this IList<string> list, string item,bool htmlEndode){ 
      list.Add(System.Web.HttpUtility.HtmlEncode(item)); 
     } 
    } 

然後

public static void Main() 
     { 
      string e = "<p>Test Text<p/>"; 
      List<string> mylist = new List<string>(); 
      mylist.Add(e,true); 

     } 

使用,你就能項目添加到列表中已編碼的新擴展方法,而不是轉換的擴展方法全部爲

2
Cell = Cell.Select(s => System.Web.HttpUtility.HtmlEncode(s)).ToList(); 

或 更短:

Cell = Cell.Select(System.Web.HttpUtility.HtmlEncode).ToList(); 
2

你可以使用ConvertAll<T>擴展方法:

Cell = Cell.ConvertAll<string>(s => System.Web.HttpUtility.HtmlEncode(s)); 

或更短:

Cell = Cell.ConvertAll<string>(System.Web.HttpUtility.HtmlEncode); 
+0

我認爲你的解決方案比我的更好。我不知道'ConvertAll'。怎麼樣:'Cell = Cell.ConvertAll(System.Web.HttpUtility.HtmlEncode);'。我會贊成這一點。 – 2012-02-20 14:19:18

+0

@PhilipFourie:謝謝,添加了你的簡短版本。 – 2012-02-20 15:00:40