如何从字符串[]数组中获取名称,与给定的数字进行比较

Viv*_*ekh 3 .net c# winforms

实际上我正在研究我自己的路径的示例代码,我在其中输入一个手机号码,然后点击按钮,表单将在该表单上打开,我想显示该字符串[]数组中相应号码的名称.形成

假设我有

string[] User = { "XYZ", "ABC", "DEF" };
string[] Number = { "1234567890", "2345678901", "345678901" };
Run Code Online (Sandbox Code Playgroud)

假设我输入1234567890并单击输入我想显示列表中的相应名称avialable即XYZ.

我不知道我是否清楚地解释了我的问题,但它与找到联系方式类似.

任何更好的方法请告诉我..

Jal*_*aid 6

使用Dictionary<long, string>就是你需要的.

Dictionary<long, string> nameFromNumber = new Dictionary<long, string>();

nameFromNumber.Add(1234567890, "XYZ");
nameFromNumber.Add(2345678901, "ABC");
...
Run Code Online (Sandbox Code Playgroud)

然后找到您可以执行的插入号码的名称:

long numberToCheck = 12364567890;
if (nameFromNumber.ContainsKey(numberToCheck)//Contains(numberToCheck)
{
    string name = nameFromNumber[numberToCheck];
    ...
}
Run Code Online (Sandbox Code Playgroud)

编辑:将签名更改为long而不是int,感谢@Kirill如何指出这一点,无论如何我个人会使用字符串代替所以我的方法将接受更通用的数字格式,如012-3456789

  • 为什么不?______ (2认同)