我想這樣做,以便如果subs的值不是「」,那麼UL會在它之前和之後進入變量sL。如果subs是「」,那麼sL得到值「」困惑?運算符在c#
var sL = (subs != "") ? "<ul>" + subs + "</ul>" : "";
但它似乎並不奏效。
我的格式正確嗎?
我想這樣做,以便如果subs的值不是「」,那麼UL會在它之前和之後進入變量sL。如果subs是「」,那麼sL得到值「」困惑?運算符在c#
var sL = (subs != "") ? "<ul>" + subs + "</ul>" : "";
但它似乎並不奏效。
我的格式正確嗎?
有疑問時,添加更多的括號:
var sL = subs != "" ? ("<ul>" + subs + "</ul>") : "";
然而,你的代碼應該正常工作了;該語法很好。
這應該是相同的,以這樣的:
if (subs != "")
{
sL = "<ul>" + subs + "</ul>";
}
else
{
sL = "";
}
如果這是你的目標是什麼,然後我會環繞在括號中的"<ul>" + subs + "</ul>"
,只是要確定,編譯器理解你想要什麼。
如果subs是「」,那麼sL也變成「」。你只是使用if的簡寫變體。你寫的和
string sL;
if (subs != ""){
sL = "<ul>" + subs + "</ul>";
}else{
sL = "";
}
對於大括號在同一行+1)/編輯:等等,這不符合您的帖子。如果它是合法的,我會的! ;) – fjdumont
蘇珊,你的代碼是正確的,它的工作原理。我剛剛在LinqPad中測試過。 也許你的ss變量是null而不是空的。我建議你改變你的行:
var sL = !string.IsNullOrEmply(subs) ? "<ul>" + subs + "</ul>" : "";
我copy-pasta'd你的代碼,它在我的機器上工作得很好。
也許問題出在別的地方?
順便說一句,而使用string.IsNullOrEmpty
在= ""
var sL = !string.IsNullOrEmpty(subs) ? "<ul>" + subs + "</ul>" : string.Empty;
另一種選擇誰也沒有提到尚未將使用string.Concat
,而不是+
,像這樣:
var sL = (subs != "") ? string.Concat("<ul>", subs, "</ul>") : "";
「這似乎並沒有工作「對於你所看到的行爲很少有用的描述。請提供更多細節。 –