2013-07-18 50 views
0

我在c#中有一些代碼,其中有很多代碼行,其中控件的ID由string.concat設置。例如:設置控件ID使用string.concat

private genericControl ctrlGrid; 
genericControl = Page.LoadControl(obj); 
genericControl.ID = string.concat("gridControl"); 

是否有任何具體原因可以使用string.concat設置ID? 有沒有與此相關的任何性能問題?

回答

1

我想你應該只使用:

genericControl.ID = "gridControl"; 

編輯: 看看string.Concat()方法將被用來當你傳遞一個參數:

public static string Concat(params string[] values) 
{ 
    if (values == null) 
    { 
     throw new ArgumentNullException("values"); 
    } 
    int totalLength = 0; 
    string[] strArray = new string[values.Length]; 
    for (int i = 0; i < values.Length; i++) 
    { 
     string str = values[i]; 
     strArray[i] = (str == null) ? Empty : str; 
     totalLength += strArray[i].Length; 
     if (totalLength < 0) 
     { 
      throw new OutOfMemoryException(); 
     } 
    } 
    return ConcatArray(strArray, totalLength); 
} 

所以,是的,它有性能開銷並更好地使用字符串。

+0

你好,我明白了。但是如果它們是由string.concat設置的話,是否會有性能開銷? – user2568160