单引号字符串到c#中的uint

时间:2013-10-21 14:09:17

标签: c# c++ string

我正在将一些C ++翻译成C#代码,我看到了以下定义:

#define x 'liaM'

首先,这个单引号是什么意思?我在c#中使它成为一个字符串常量吗?

其次,将此常量作为值分配给C ++中的uint变量。这有什么作用?

uint m = x;

1 个答案:

答案 0 :(得分:4)

有时称为FOURCC。有一个Windows API可以从一个字符串转换为一个名为mmioStringToFOURCC的FOURCC,这里有一些C#代码可以做同样的事情:

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);
}