Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c语言中查表的有效方法#_C# - Fatal编程技术网

C# c语言中查表的有效方法#

C# c语言中查表的有效方法#,c#,C#,我输入了“Volvo-2.0”、“Volvo-1.8”、“Ford BMax”,我想创建一个查找表,如果输入了“Volvo-2-0”或“Volvo-1.8”,则返回“Volvo”,如果输入了“Ford BMax”,则同样返回“Ford” 如何在我的模型中创建查找? 我目前正在使用selectlist,但由于我不想显示selectlist,我应该在我的模型中使用什么其他选项进行查找 public SelectList car = new SelectList(new List<object&

我输入了“Volvo-2.0”、“Volvo-1.8”、“Ford BMax”,我想创建一个查找表,如果输入了“Volvo-2-0”或“Volvo-1.8”,则返回“Volvo”,如果输入了“Ford BMax”,则同样返回“Ford”

如何在我的模型中创建查找? 我目前正在使用selectlist,但由于我不想显示selectlist,我应该在我的模型中使用什么其他选项进行查找

public SelectList car = new SelectList(new List<object>{
                              new {text="Volvo-2.0", value="Volvo"},
                              new {text="Volvo-1.8", value="Volvo"},
                              new {text="Ford-BMax", value="Ford"}},text,value}
public SelectList car=new SelectList(新列表{
新的{text=“Volvo-2.0”,value=“Volvo”},
新的{text=“Volvo-1.8”,value=“Volvo”},
新建{text=“Ford BMax”,value=“Ford”},text,value}

你应该使用
字典,因为它非常快:

Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("Volvo-1.8", "Volvo");
dict.Add("Volvo-2.0", "Volvo");
dict.Add("Ford-BMax", "Ford");

string brand = dict["Volvo-1.8"];
Dictionary dict=new Dictionary();
新增条款(“沃尔沃-1.8”、“沃尔沃”);
新增条款(“沃尔沃-2.0”、“沃尔沃”);
添加(“福特BMax”、“福特”);
字符串品牌=dict[“沃尔沃-1.8”];
有关更多信息,请查看。

正如其他答案所说,字典会很快找到

C#有一个用数据填充的速记:

  Dictionary<string, string> dict = new Dictionary<string, string>()
  {
      { "Volvo-1.8", "Volvo" },
      { "Volvo-2.0", "Volvo" },
      { "Ford-BMax", "Ford" },
  };
Dictionary dict=new Dictionary()
{
{“沃尔沃-1.8”、“沃尔沃”},
{“沃尔沃-2.0”、“沃尔沃”},
{“福特BMax”,“福特”},
};

我会使用
字典(如king.code所说),但我会使用
TryGetValue()
方法:

Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("Volvo-1.8", "Volvo");
dict.Add("Volvo-2.0", "Volvo");
dict.Add("Ford-BMax", "Ford");



string value;

if(dict.TryGetValue("Volvo-1.8", out value))
{
    Console.WriteLine("Found: " + value);
}
Dictionary dict=new Dictionary();
新增条款(“沃尔沃-1.8”、“沃尔沃”);
新增条款(“沃尔沃-2.0”、“沃尔沃”);
添加(“福特BMax”、“福特”);
字符串值;
if(dict.TryGetValue(“沃尔沃-1.8”,输出值))
{
Console.WriteLine(“找到:+值);
}

TryGetValue()
更安全,并且避免了2次查找(如果使用
dict.Contains(“Volvo-1.8”)
然后使用
dict[“Volvo-1.8”]

为什么您的模型与之相关?您不是在寻找一种UI技术吗?您能详细说明您到底想做什么吗?您的问题不清楚您想要什么。您不能简单地使用
String.Substring
从开始到
-
返回子字符串吗?为此使用字典为什么不使用字典来查找它?@HimBromBeere——我也这么认为,但这可能会在梅赛德斯-奔驰(Mercedes-Benz)上被打破