2009-11-05 10 views
11
int five = 5; 
  • ग में इस बयान के लिए त्रिगुट ऑपरेटर का उपयोग करने के लिए जब चर पाँच 5 के बराबर है, लिखना सच
  • जब चर पाँच 5 के बराबर नहीं है, लिखने झूठी

सी # का उपयोग कर एएसपी.नेट में इसके लिए मैं एक कथन कैसे लिखूं?कैसे #

+0

अच्छा संपादन जेफ एटवुड आपके हाथों से मेरे प्रश्न को संपादित करने के लिए धन्यवाद –

उत्तर

26
int five = 5; 
string answer = five == 5 ? "true" : "false"; 

मुझे लगता है कि आप इस का उपयोग करने के ASP.NET में मूल्यों बाहर लिखना चाहते हैं, answer स्ट्रिंग अपना इच्छित मान का आयोजन करेगा, का उपयोग करें कि के रूप में आप कृपया।

+5

एक भिन्नता >> स्ट्रिंग उत्तर = पांच == 5? बूल। ट्रूस्ट्रिंग: बूल। फाल्स स्ट्रिंग; –

0

five==5?console.writeline('true'):console.writeline('false')

यह इस तरह काम करता है:

<if-expression> ? <code-when-if-expression-evaluates-true> : <code-when-if-expression-evaluates-false>

संपादित करें: thkinking

क्या मैं शायद किया गया था:

<%=five==5?'true':'false'%>

+0

'कंसोल। राइटलाइन 'शून्य लौटाता है। टर्नरी ऑपरेटर को वापसी मूल्य की आवश्यकता होती है और इसे असाइनमेंट की आरएच अभिव्यक्ति के रूप में उपयोग किया जाना चाहिए। – Abel

+0

आह, अरे! मेरे पास परीक्षण करने के लिए मेरे सामने एक कंपाइलर नहीं है। ओह अच्छा। – FrustratedWithFormsDesigner

+0

क्या आप वास्तव में मेरे प्रश्न को पढ़ते हैं, मैं asp.net के लिए Winform के लिए नहीं कहता हूं और आपका कथन काम नहीं करता है अगर आप इसे एएसपीनेट में करते हैं तो आपको एक त्रुटि मिलती है कि "कंपाइलर त्रुटि संदेश: CS0201: केवल असाइनमेंट, कॉल, वृद्धि, कमी, और नए ऑब्जेक्ट एक्सप्रेशन का उपयोग कथन के रूप में किया जा सकता है " –

2

ASP.NET में, कथात्मक (यानी, जहां एचटीएमएल जाता है):

<p>Is this five? <%= yourVariable == 5 ? "true" : "false"; %></p> 

या, वैकल्पिक रूप से, के पीछे कोड में (यानी, जहां अपने सी # कोड और वर्ग हैं):

someTextBox.Text = yourVariable == 5 ? "true" : "false"; 
9

लगभग हर भाषा में त्रिगुट ऑपरेटर अगर एक इनलाइन रूप में काम करता बयान:

Console.WriteLine((five == 5) ? 'true' : 'false'); 

(आप सख्ती से भीतरी कोष्ठक की आवश्यकता चाहिए नहीं, लेकिन मैं उन्हें स्पष्टता के लिए शामिल करना चाहते।)

हैं टी वह बूलियन सच्चाई का मूल्यांकन करता है, तो पूरी अभिव्यक्ति ? और : के बीच के मान के बराबर होती है। यदि बूलियन झूठी मूल्यांकन करता है, तो अभिव्यक्ति : के बाद मान के बराबर होती है।

मुझे विश्वास नहीं है कि आप ऑपरेटर के बीच में कोड की रेखाएं शामिल कर सकते हैं। इन्हें केवल अभिव्यक्ति माना जाता है जो स्थिति के मूल्यांकन के बाद पूरे ऑपरेटर "वाक्यांश" को प्रतिस्थापित करते हैं।

मैं जावा लड़का हूं और वास्तव में सी # नहीं जानता; शायद यह अलग है। लेकिन शायद नहीं।

+0

सिर्फ एक नोट: कंसोल। राइटलाइन() के पास एएसपी.NET –

+0

सहमत नहीं है, लेकिन एक और नोट: मुझे आपकी स्पष्टीकरण पसंद है, ठीक है! :) – Abel

+0

@ आरएम: हे, ओह। क्षमा करें, अन्य answerer के कोड की प्रतिलिपि बना रहा था और याद किया कि सी # के छोटे से छोटे से मुझे याद आया। :-) – Tenner

1
Response.Write(five == 5 ? "True" : "False"); 

हालांकि, इस उदाहरण के लिए, मैं त्रिगुट ऑपरेटर बिल्कुल का उपयोग नहीं होगा:

Response.Write(five == 5); 
4

आप यह वास्तव में सरल रख सकता है।एक बूलियन में पांच से 5 परिणाम की तुलना, तो निम्न भी संभव है:

int five = 5; 
Console.WriteLine((five == 5).ToString()); 

bool प्रकार के toString() पद्धति पहले से ही "सही" या "गलत" वापस जाने के लिए बनाया गया है, और अगर लोअरकेस विकल्प की जरूरत है, thats सरल भी:

int five = 5; 
Console.WriteLine((five == 5).ToString().ToLower()); 

आप इसे लोवरकेस की जरूरत नहीं है, तो आप वास्तव में पूरी तरह ToString रूप में अच्छी तरह समाप्त कर सकते हैं:

int five = 5; 
Console.WriteLine(five == 5); 
1

बस सुरक्षित होने के लिए, आपको अपने टर्नरी एक्सप्रेशन को माता-पिता() में रखना चाहिए, क्योंकि टर्नरी ऑपरेटर?: सूक्ष्म प्राथमिकता है जो आपको देख नहीं सकती है यदि आप नहीं देख रहे हैं।

string answer = ((five==5) ? ("true") : ("false")); 

यह शायद इस उदाहरण के साथ महत्वपूर्ण नहीं है, लेकिन अगर त्रिगुट एक जटिल अभिव्यक्ति का हिस्सा है, पूर्वता नियम संकलक तुम क्या इरादा से अभिव्यक्ति अलग तरह से व्याख्या कर सकता है।

+0

यह ब्रांड्स पर थोड़ा भारी है। –

+0

माता-पिता संकलक को अंतर्निहित अभिव्यक्ति की व्याख्या करने के लिए मजबूर करते हैं, अंतर्निहित प्राथमिकता नियमों को ओवरराइड करते हैं, जो आपको समझने के रूप में सहज नहीं हैं। यह एक साधारण उदाहरण है, लेकिन अभिव्यक्ति अधिक जटिल हो जाती है, इसलिए भाषा के आपके इरादे को गलत तरीके से समझने का अवसर अधिक होता है। – dar7yl

+1

इसके अलावा, कम से कम संकलित भाषाओं में, माता-पिता "मुक्त" होते हैं। वे पाठक को अभिव्यक्ति को समझने में मदद कर सकते हैं, खासकर अगर आप कोड स्टाइल के रूप में रिक्ति का उपयोग करते हैं। – dar7yl

0

अभी तक एक और भिन्नता:

string message = XmlConvert.ToString(5 == five); 
Console.Write(message); 
0

सरल बात Console.WriteLine है ((पांच == 5) .ToString());

0

से @ JohnK की टिप्पणी उपयोग:

int five = 5; 
string answer = five == 5 ? bool.TrueString : bool.FalseString; 

का प्रतिनिधित्व करता है बूलियन मान सही/स्ट्रिंग के रूप झूठी। यह क्षेत्र केवल पढ़ने के लिए है। https://msdn.microsoft.com/en-us/library/system.boolean.truestring(v=vs.110).aspx