You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过文本框取值,使用Contains/IndexOf判断数组包含状态或索引

解决从文本框获取值判断数组包含性及索引的问题

没问题,我来帮你搞定这个需求!核心是要把文本框的字符串输入转换成整数类型,再用到数组的Contains和IndexOf方法里,还要考虑用户输入无效内容的情况,避免程序崩溃。

下面是修改后的完整代码,附带详细注释:

private void button3_Click(object sender, EventArgs e)
{
    // 初始化你的整数数组
    int[] values = new int[6];
    values[0] = 2;
    values[1] = 9;
    values[2] = 5;
    values[3] = 15;
    values[4] = 8;
    values[5] = 25;

    // 1. 获取文本框输入(记得把txtInput改成你实际的文本框控件名称)
    string input = txtInput.Text.Trim(); // 去除前后空格,避免空格干扰转换

    // 2. 安全转换输入为整数:用TryParse而非Parse,防止输入非数字导致崩溃
    if (int.TryParse(input, out int targetNum))
    {
        // 转换成功,执行数组操作
        bool isContained = values.Contains(targetNum);
        label1.Text = $"数组包含该值:{isContained}";

        int index = Array.IndexOf(values, targetNum);
        // 处理未找到的情况:IndexOf返回-1表示无匹配
        string indexText = index != -1 ? $"值的索引为:{index}" : "未找到该值";
        // 可以再加一个label显示索引,或者合并到label1,这里假设用label2
        label2.Text = indexText;
    }
    else
    {
        // 转换失败,提示用户输入有效整数
        label1.Text = "请输入有效的整数!";
        label2.Text = string.Empty;
    }
}

几个关键细节要注意:

  • 控件名称匹配:代码里的txtInput是假设的文本框名称,一定要替换成你项目里实际的控件名(比如你的文本框可能叫txtSearch)。
  • 安全转换的必要性:int.TryParse比直接用int.Parse更稳妥——如果用户输入字母、符号或者空内容,TryParse会返回false,程序不会抛出异常,还能给用户明确的提示。
  • 索引的特殊值处理:Array.IndexOf在找不到目标值时会返回-1,直接把这个值显示给用户不太友好,所以要判断后给出易懂的提示。

这样调整后,用户就能通过文本框输入数字,点击按钮后直观看到数组是否包含该值,以及对应的索引啦!

内容的提问来源于stack exchange,提问作者Cavid Hummatov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 11:01:06