簡體   English   中英

C#中的String.Format和Composite String有什么區別?

[英]What is the difference between String.Format and Composite String in C#?

這兩種語法有什么區別?

有沒有必須使用String.Format而不是復合字符串的情況?

Console.WriteLine("{0:d} {0:t}",DateTime.Now);
Console.WriteLine(String.Format("{0:d} {0:t}",DateTime.Now));

它們之間沒有任何區別,因為

Console.WriteLine("{0:d} {0:t}",DateTime.Now);

這將通過此重載函數調用String.Format函數。

public virtual void WriteLine(String format, Object arg0)
{
    WriteLine(String.Format(FormatProvider, format, arg0));
}

console.WriteLine源代碼

我剛剛注意到必須使用String.Format或插值字符串而不是普通復合字符串的情況。

SqlConnection myConnection = new SqlConnection("......");
SqlDataAdapter myDataAdapter1 = new SqlDataAdapter("SELECT userAddress FROM tblUserData WHERE userName = '" + userName + "'", myConnection);
SqlDataAdapter myDataAdapter2 = new SqlDataAdapter("SELECT userAddress FROM tblUserData WHERE userName = '{0}'", userName, myConnection);
SqlDataAdapter myDataAdapter3 = new SqlDataAdapter(String.Format("SELECT userAddress FROM tblUserData WHERE userName = '{0}'", userName), myConnection);
SqlDataAdapter myDataAdapter4 = new SqlDataAdapter($"SELECT userAddress FROM tblUserData WHERE userName = '{userName}'",myConnection);

由於參數不正確,myDataAdapter2無法正常工作。

(是的,通常,SELECT語句被賦值給字符串變量。)

暫無
暫無

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

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