如何从有的asciiArt char处获取字符串?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (99)

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

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

提问于
用户回答回答于

这个有用吗?

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#方法通常是大写的。

用户回答回答于

只要printChar函数对每个字符返回相同的‘#’字符串,你可以枚举从A到Z的所有字符,获取它们的打印字符串,将它们保存在从字符串到产生该字符串的字符的映射中,然后查询此映射。

所属标签

可能回答问题的人

  • 学生

    3 粉丝476 提问7 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 最爱开车啦

    8 粉丝503 提问5 回答
  • 骑牛看晨曦

    4 粉丝522 提问5 回答

扫码关注云+社区

领取腾讯云代金券