c# - 在 C# 中创建所有 ASCII 字符的数组

标签 c# arrays ascii

<分区>

我目前正在创建一个程序,该程序使用数组对文本文档中的 ASCII 字符进行分类。当涉及到创建数组本身时,我被卡住了,这是项目功能的关键部分。还建议我用 charfrequency 对象创建数组,我知道我的代码不适合这个特定项目。我使用了另一个类似项目的代码,但不确定如何将其转换为从文件中读取文本的项目。我已经包含了我的 charfrequency 类代码,以供引用,以了解我正在尝试做的事情的总体思路。我还需要以如下格式显示结果:

H(72) = 1
e(101) = 1
l(108) = 2
o(111) = 1
.(46) = 1 

我不太懂编程,所以用相对简单的术语进行详细解释会很有帮助。

{
public class CharFrequency
{
    private char m_character;
    private long m_count;

    public CharFrequency(char ch)
    {
        Character = ch;
        Count = 0;
    }

    public CharFrequency(char ch, long charCount)
    {
        Character = ch;
        Count = charCount;
    }

    public char Character
    {
        set
        {
            m_character = value;
        }

        get
        {
            return m_character;
        }
    }

    public long Count
    {
        get
        {
            return m_count;
        }
        set
        {
            if (value < 0)
                value = 0;

            m_count = value;
        }
    }

    public void Increment()
    {
        m_count++;

    }

    public override bool Equals(object obj)
    {
        bool equal = false;
        CharFrequency cf = new CharFrequency('\0', 0);

        cf = (CharFrequency)obj;

        if (this.Character == cf.Character)
            equal = true;

        return equal;
    }

    public override int GetHashCode()
    {
        return m_character.GetHashCode();
    }

    public override string ToString()
    {
        String s = String.Format("Character '{0}' ({1})'s frequency is {2}", m_character, (byte)m_character, m_count);

        return s;
    }

}

最佳答案

由于 Unicode 匹配 ASCII 码,您只需使用 Enumerable.Range 选择 ASCII 范围:

var allAscii = Enumerable.Range('\x1', 127).ToArray();

请注意,C#/.Net 使用 UTF-16 ( C# and UTF-16 characters ) 来表示 char,但如果您只查找 ASCII 范围,这不是问题(因为 ASCII 包含字符代码 1-127 它不会与编码为字符串中的 2 个 char 的代理对冲突。

关于c# - 在 C# 中创建所有 ASCII 字符的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30249064/

相关文章:

arrays - 在 Flex 中,测试数组是否包含 flex 中的某个值

javascript - 如何从 JavaScript 中的 ASCII 字符生成随机字符串

c# - 从 C# 调用 C DLL 函数 - 将 char 参数转换为字符串

c# switch on 变量类型

c#计算数组之间的重叠

php - 如何在php中获取内部数组元素的最大值

javascript - 如何从元素中获取原始内容(带有ascii码)?

sql-server - SQL 中的特殊字符

c# - SendKeys.Send 函数不起作用

c# - 如何在 C# 线程中使用等待句柄?