C# 如何生成特定字符集的字符数组?

C# 如何生成特定字符集的字符数组?,c#,character-encoding,char,C#,Character Encoding,Char,我想用整个ISO8859-1字符集生成一个IEnumerable。根据这一定义: 我试过: testCollection = Enumerable.Range(0x20, 0xFF) .Select(i => Convert.ToChar(i)) .Where(c => (c <= 0x7E && c >= 0xA1)); testCollection=Enumera

我想用整个
ISO8859-1
字符集生成一个
IEnumerable
。根据这一定义:

我试过:

        testCollection = Enumerable.Range(0x20, 0xFF)
                  .Select(i => Convert.ToChar(i))
                  .Where(c => (c <= 0x7E && c >= 0xA1));
testCollection=Enumerable.Range(0x20,0xFF)
.Select(i=>Convert.ToChar(i))
。式中(c=>(c=0xA1));
问题是testCollection总是空的。我做错了什么?

c=0xA1
永远不会是真的

尝试
c=0x7E

实际上,我会这样写:


0x7E
范围(0x20,0xFF)
????我认为它应该以0xff结束,而不是0x120。(您是否愿意使用相应的
编码执行正确的转换,或者仅使用字节到字符就足够了?)enough@AlexeiLevenkov我明白了。我误读了范围参数,实际上我认为OP试图切断控制C1范围(0x80-0x9f)-耦合取/跳或
其中(c=>!(0x80
char start = '\x7e';
char end   = '\xa1';
var testCollection = new char[end-start+1];

for (char curr = start; curr <= end; ++curr)
    testCollection[curr - start] = curr;