在c#string

问题描述 投票:0回答:5
考虑字符串:

string str="A C# string";
使用C#打印每个字符的ASCII值的最有效方法是什么。
    

c# string ascii character
5个回答
40
投票

for (int i = 0; i < str.length; i++) Console.Write(((int)str[i]).ToString());



21
投票

foreach(byte b in System.Text.Encoding.UTF8.GetBytes(str.ToCharArray())) Console.Write(b.ToString());



5
投票
string str = "عثمان"; char ch = ' '; int number = 0; for (int i = 0; i < str.Length; i++) { ch = str[i]; number = (int)ch; Console.WriteLine(number); }

这里是另一种选择。  如果输入char不是ASCII,它当然会给您带来不好的结果。  我没有对其进行测试,但是我想这很快了:

0
投票
[MethodImpl(MethodImplOptions.AggressiveInlining)] private static int GetAsciiVal(string s, int index) { return GetAsciiVal(s[index]); } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static int GetAsciiVal(char c) { return unchecked(c & 0xFF); }

我注意到没有人会像我喜欢的那样做到这一点,而只是使用char作为char,所以添加了我的选择:
System.Char
。它很简单:

0
投票
foreach (char c in str) { Console.WriteLine(((int)c)); }

char还为您提供更多的工具,例如isdigit

isascii
,因此,当您将其作为char类型时,您还有许多其他方法可以使用。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.