【问题标题】:Comparing textbox.text to char c#将 textbox.text 与 char c# 进行比较
【发布时间】:2013-12-21 15:49:09
【问题描述】:

只是想知道是否有一种方法可以将文本框中的文本与 char 进行比较而无需创建字符串?我的方式似乎有点低效。我要比较的是 'a[i].Text' 和 'number',如果您能提供帮助,请提前感谢。

private void a1calculate(char number)
{
    bool plausible = true;
    for (int i = 0; i < 9; i++)
    {                
        string numberr = Convert.ToString(number);
        var a = hello('a');
        if (a[i].Text == numberr) { plausible = false; }
    }
}

【问题讨论】:

  • char 中的“数字”是什么?除非它明确表示单个字符的代码点(在这种情况下它是“数字”),否则它应该是整数或其他类似的合适类型。
  • numberhello('a') 的示例值是什么?
  • 数字将是 1-9 并且 hello('a') 将返回 var a = new[] { a1,a2,a3,a4,a5,a6,a7,a8,a9};我只是在玩弄一个数独求解器作为一个校外项目

标签: c# char compare


【解决方案1】:

您可以使用索引器[] 语法从string 中获取一个char。额外的string.Length 支票将为您提供所需的内容。

if (a[i].Text.Length == 1 && a[i].Text[0] == number) { plausible = false; }

【讨论】:

  • 为什么要检查文本长度是否为 1?如果它等于数字,肯定是 1?
  • 不,因为a[i].Text[0] 仅从您的string TextBox.Text 属性中获取第一个char,并且第一个字符正在与您的字符进行比较。它没有说明字符串中的其他字符。
【解决方案2】:

另一种方法是:

if(a[i].Text[0] == number) ...

但是,此示例执行索引查找。您必须测试其性能(与转换相比)。

【讨论】:

    猜你喜欢
    • 2021-12-28
    • 2014-05-17
    • 1970-01-01
    • 2011-02-08
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多