从印有的asciiArt字母处获取一封信

时间:2017-01-15 11:56:10

标签: c# ascii-art

我有一个方法可以打印从A到Z的asciiArt(使用#)字符。它被称为asciiArt.printChar (char c)

这是一个测验问题所以我没有这个方法的定义。 我需要的是获取printChar方法返回的打印字符串,搜索并返回与该字符串匹配的正确字符。

2 个答案:

答案 0 :(得分:5)

这行吗?

char ScanChar(string art)
{
    // Iterate over each character from A to Z.
    for (char c = 'A'; c <= 'Z'; c++)
    {
        // Check to see if the character corresponds with the ASCII art.
        if (asciiArt.printChar(c) == art)
        {
            // Return the character if it does.
            return c;
        }
    }

    // Optionally use a null character to indicate that the string passed
    // doesn't correspond to any valid ASCII art.
    return (char)0;
}

除了返回空字符来处理传递的错误字符串,您还可以抛出这样的错误。

throw new ArgumentException("The string does not correspond to valid ASCII art.");

还要记住,C#方法通常是大写的。

答案 1 :(得分:3)

只要<item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> 函数为每个字符返回相同的'#`字符串,就可以枚举从A到Z的所有字符,获取它们的打印字符串,将它们中的每一个保存在映射中字符串到生成它的字符,然后查询此映射。