【问题标题】:Large Unicode List to Char[] c#大 Unicode 列表到 Char [] c#
【发布时间】:2021-11-17 23:46:32
【问题描述】:

我使用此代码将每行包含单独字符的字符串传递给 Unicode 列表。

string MultiLineCharArray = string.Join(Environment.NewLine, CharArray);
var UnicodeList = MultiLineCharArray.Select(str => Convert.ToUInt16(str)).ToList();

当反转它时,程序死了,它甚至没有尝试,非常糟糕:

for (int i = 0; i < UnicodeList.Count; i++)
{
      MultiLineCharArray = string.Join(Environment.NewLine, Convert.ToChar(UnicodeList[i]));
}

我需要 MultiLineCharArray 然后将其转换为有效 Unicode 字符 (unicode = A)Array 通过每一行将其转换为单个字符串。 Unicode 列表非常长(9,000)个元素,可能这就是程序崩溃的原因,有没有更优化的方法?

【问题讨论】:

  • 我很难理解 why 你想要做什么,但我不禁觉得大部分或所有步骤都是不必要的。你首先想要什么样的数字?如果您想要一个字符代码数组(为什么?),那么为什么要在其中引入带有虚假换行符的字符串?如果你想要代码点,你不会这样做correctly

标签: c# arrays list unicode char


【解决方案1】:

使用 LINQ 和字符串函数

// to populate charArray with dummy chars A through J
var charArray = Enumerable.Range(65, 10).Select(i => (char)i);
// your existing code
var multiLineCharArray = string.Join(Environment.NewLine, charArray);
var unicodeList = multiLineCharArray.Select(str => Convert.ToUInt16(str)).ToList();
// to reverse
var multiLineCharArray1 = new string(unicodeList.Select(u => (char)u).ToArray());
var charArray1 = multiLineCharArray1.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);

【讨论】:

    猜你喜欢
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多