2017-10-04 15 views
5

से अलग हो सकता है Roslyn (Microsoft.CodeAnalysis) में, SyntaxToken के पास Text और ValueText फ़ील्ड हैं। मैंने जो भी परिस्थितियों में अब तक देखा है, इन दो मान समान हैं। ValueText में प्रलेखन है जबकि Text नहीं है। जहां तक ​​मैं कह सकता हूं, यह एकमात्र अंतर है।किस स्थिति में टेक्स्ट ValueText

दोनों मौजूद क्यों हैं? वे किस स्थिति में अलग होंगे, और क्यों?

उत्तर

10

दोनों मौजूद क्यों हैं?

क्योंकि वे कभी-कभी अलग होते हैं और दोनों उपयोगी होते हैं।

वे किस स्थिति में अलग होंगे, और क्यों?

int @interface = 123; 

@interface टोकन के Text@interface है। ValueTextinterface है। पाठ आपको बताता है कि पाठ कोड में टेक्स्ट जैसा दिखाई देता है। मूल्य पाठ आपको तर्कसंगत रूप से बताता है, इस चीज़ का पाठ क्या है? एक पहचानकर्ता के रूप में उपयोग किया गया एक बच निकला कीवर्ड तर्कसंगत रूप से कीवर्ड का पाठ है; वह पहचानकर्ता का नाम है।

ऐसी अन्य स्थितियां हैं जिनमें टेक्स्ट और मूल्य टेक्स्ट अलग-अलग हो सकते हैं; देखें कि आप कुछ पा सकते हैं या नहीं।

+0

परीक्षण किए बिना अनुमान लगाना: '\ u0061 \ u0062 \ u0063' शायद' 'u0061 \ u0062 \ u0063' का' टेक्स्ट' और 'abc' का' ValueText' है। – Brian

+0

संख्या अक्षर एक और संभावना है: '1.2 एफ'; पाठ '1.2 एफ' है, वैल्यूटेक्स्ट' 1.2' है। – InBetween

संबंधित मुद्दे