2013-10-21 8 views
10

मैं सी # कोड के लिए कुछ सी ++ का अनुवाद किया गया था और मैं नीचे definiton देखा:एकल उद्धृत स्ट्रिंग सी # में uint को

#define x 'liaM' 

सबसे पहले, क्या इस एकल उद्धृत निरंतर मतलब है? क्या मैं इसे सी # में स्ट्रिंग स्थिर बना देता हूं?

दूसरा, यह स्थिरता C++ में एक यूंट वैरिएबल के मान के रूप में असाइन की गई है। वह कैसे काम करता है?

uint m = x; 
+1

के बाद से अपने प्रश्न कुछ सी ++ कोड के अर्थ के बारे में मुख्य रूप से है, मैं जोड़ लिया है चाहता हूँ उस भाषा टैग के साथ ही सी # एक। –

+0

http://stackoverflow.com/questions/3683602/single-quotes-vs-double-quotes-in-c –

+3

http://stackoverflow.com/questions/7459939/what-do-single-quotes-do-in -सी-जब-इस्तेमाल-पर-एकाधिक-वर्ण –

उत्तर

4

इसे कभी-कभी FOURCC कहा जाता है। वहाँ एक Windows API है कि एक FOURCC में एक स्ट्रिंग से परिवर्तित कर सकते हैं mmioStringToFOURCC कहा जाता है और यहाँ एक ही बात करने के लिए कुछ सी # कोड है:

public static int ChunkIdentifierToInt32(string s) 
{ 
    if (s.Length != 4) throw new ArgumentException("Must be a four character string"); 
    var bytes = Encoding.UTF8.GetBytes(s); 
    if (bytes.Length != 4) throw new ArgumentException("Must encode to exactly four bytes"); 
    return BitConverter.ToInt32(bytes, 0); 
} 
+2

क्यों नहीं 'बिटकोनवर्टर.ओआईएनटी 32 (char [] {' l ',' i ',' a ',' m '}); और स्ट्रिंग को पूरी तरह से छोड़ दें? –

+0

@ बेनवोइग हां, यहां तक ​​कि बेहतर। मैंने उपरोक्त कोड को mmioStringToFOURCC –

+0

पर कॉल के लिए ड्रॉप-इन प्रतिस्थापन के रूप में लिखा है, असल में, मेरी टिप्पणी में 'बाइट [] ' –

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