2011-09-02 9 views
6

मैं इसे बनाना चाहता हूं ताकि अगर subs का मान "" नहीं है तो यूएल पहले और उसके बाद और परिवर्तनीय एसएल में जाते हैं। तो बाद के चरणों "है"के बारे में उलझन में? ऑपरेटर सी #

var sL = (subs != "") ? "<ul>" + subs + "</ul>" : ""; 

"तो SL मूल्य प्राप्त" लेकिन यह काम करने के लिए प्रतीत नहीं होता।

क्या मेरा प्रारूप सही है?

+4

"यह प्रतीत नहीं होता है काम "आपके द्वारा देखे जा रहे व्यवहार का बहुत ही कम विवरण है। कृपया अधिक जानकारी दें। एक ही पंक्ति में घुंघराले ब्रेसिज़ के लिए –

उत्तर

11

संदेह होने पर, जोड़ने और अधिक कोष्ठक:

var sL = subs != "" ? ("<ul>" + subs + "</ul>") : ""; 

हालांकि, अपने कोड पहले से ही ठीक से काम करना चाहिए; वह वाक्यविन्यास ठीक है।

3

यह इस करने के लिए एक ही होना चाहिए:

if (subs != "") 
{ 
    sL = "<ul>" + subs + "</ul>"; 
} 
else 
{ 
    sL = ""; 
} 

यदि यह आपके लिए क्या लक्ष्य, तो मैं कोष्ठक में "<ul>" + subs + "</ul>" चारों ओर होता है, बस सुनिश्चित संकलक समझता है तुम क्या चाहते हो रहा है।

0

यदि subs "" है तो एसएल भी "" बन जाता है। आप बस के एक शॉर्टेंड संस्करण का उपयोग कर रहे हैं। आपने जो लिखा है वह बिल्कुल

string sL; 
if (subs != ""){ 
    sL = "<ul>" + subs + "</ul>"; 
}else{ 
    sL = ""; 
} 
+0

+1 :)/संपादित करें: प्रतीक्षा करें, यह आपकी पोस्ट योग्य नहीं है। अगर मैं कानूनी था तो मैं चाहता था! ;) – fjdumont

4

सुसान, आपका कोड सही है और यह काम करता है। मैंने अभी लिंककैड में परीक्षण किया है। शायद आपका एसएस वैरिएबल शून्य है और खाली नहीं है। मेरा सुझाव है कि आप अपनी लाइन को

var sL = !string.IsNullOrEmply(subs) ? "<ul>" + subs + "</ul>" : ""; 
2

मैंने आपके कोड को कॉपी किया है और यह मेरी मशीन पर ठीक काम करता है।

शायद समस्या कहीं और है?

एक के रूप में अलग रूप में, बल्कि का उपयोग उल्लेख string.IsNullOrEmpty= "" से अधिक

var sL = !string.IsNullOrEmpty(subs) ? "<ul>" + subs + "</ul>" : string.Empty; 
1

एक अन्य विकल्प कोई नहीं अभी तक + के बजाय string.Concat उपयोग करने के लिए, इस तरह होगा:

var sL = (subs != "") ? string.Concat("<ul>", subs, "</ul>") : ""; 
संबंधित मुद्दे