C# 将方法从Dictionary更改为Struct
我有下面的方法,使用C# 将方法从Dictionary更改为Struct,c#,linq,dictionary,C#,Linq,Dictionary,我有下面的方法,使用字典设置两个值nlId和名称/键和值。现在我明白了字典只能接受两个值,但我需要的是改变我的方法,这样我就可以允许更多的值添加到我的类型中。最好的方法是什么 public Dictionary<int, string> GetQuoteOptionList(QuoteOptionType optionType) { Dictionary<int, string> result = new Dictionary<int, string>
字典
设置两个值nlId和名称/键
和值
。现在我明白了字典只能接受两个值,但我需要的是改变我的方法,这样我就可以允许更多的值添加到我的类型中。最好的方法是什么
public Dictionary<int, string> GetQuoteOptionList(QuoteOptionType optionType)
{
Dictionary<int, string> result = new Dictionary<int, string>();
using (TruckDb db = new TruckDb())
{
switch (optionType)
{
case QuoteOptionType.BodyType:
db.BodyTypes.ToList().ForEach(x => result.Add(x.Id, x.Name));
break;
...
case QuoteOptionType.RearDropSide:
db.RearDropSides.ToList().ForEach(x => result.Add(x.Id, x.Name));
break;
case QuoteOptionType.Extras://Example: (x.Id, x.Description, x.StockItem, x.MinimumStock) I would like to add more than just two values
db.Extras.ToList().ForEach(x => result.Add(x.Id, x.Description));
break;
default:
throw new ArgumentException("The option that was selected does not have a corresponding list.");
}
}
return result;
}
公共字典GetQuoteOptionList(QuoteOptionType optionType)
{
字典结果=新字典();
使用(TruckDb db=new TruckDb())
{
开关(optionType)
{
案例QuoteOptionType.BodyType:
ForEach(x=>result.Add(x.Id,x.Name));
打破
...
案例QuoteOptionType.RearDropSide:
ForEach(x=>result.Add(x.Id,x.Name));
打破
case QuoteOptionType.Extras://Example: (x.Id,x.Description,x.StockItem,x.MinimumStock)我想添加两个以上的值
ForEach(x=>result.Add(x.Id,x.Description));
打破
违约:
抛出新ArgumentException(“所选的选项没有相应的列表”);
}
}
返回结果;
}
我在我的代码中有一个关于我想要改变什么的例子,我把它贴在上面,只需检查case QuoteOptionType.Extras:
提前感谢您的帮助或建议!:) 创建如下类:
public class yourClass
{
public string ID { get; set; }
public string Description { get; set; }
public string StockItem { get; set; }
public string MinimumStock { get; set; }
}
List<yourClass> result = new List<yourClass>();
db.Extras.ToList().ForEach(c => result.Add(new yourClass { ID="id" , Description="desc" , MinimumStock="minimum" , StockItem="stock" }));
公共类您的类
{
公共字符串ID{get;set;}
公共字符串说明{get;set;}
公共字符串StockItem{get;set;}
公共字符串MinimumStock{get;set;}
}
列表结果=新列表();
ForEach(c=>result.Add(newyourclass{ID=“ID”,Description=“desc”,MinimumStock=“minimum”,StockItem=“stock”});
创建如下类:
public class yourClass
{
public string ID { get; set; }
public string Description { get; set; }
public string StockItem { get; set; }
public string MinimumStock { get; set; }
}
List<yourClass> result = new List<yourClass>();
db.Extras.ToList().ForEach(c => result.Add(new yourClass { ID="id" , Description="desc" , MinimumStock="minimum" , StockItem="stock" }));
公共类您的类
{
公共字符串ID{get;set;}
公共字符串说明{get;set;}
公共字符串StockItem{get;set;}
公共字符串MinimumStock{get;set;}
}
列表结果=新列表();
ForEach(c=>result.Add(newyourclass{ID=“ID”,Description=“desc”,MinimumStock=“minimum”,StockItem=“stock”});
创建如下类:
public class yourClass
{
public string ID { get; set; }
public string Description { get; set; }
public string StockItem { get; set; }
public string MinimumStock { get; set; }
}
List<yourClass> result = new List<yourClass>();
db.Extras.ToList().ForEach(c => result.Add(new yourClass { ID="id" , Description="desc" , MinimumStock="minimum" , StockItem="stock" }));
公共类您的类
{
公共字符串ID{get;set;}
公共字符串说明{get;set;}
公共字符串StockItem{get;set;}
公共字符串MinimumStock{get;set;}
}
列表结果=新列表();
ForEach(c=>result.Add(newyourclass{ID=“ID”,Description=“desc”,MinimumStock=“minimum”,StockItem=“stock”});
创建如下类:
public class yourClass
{
public string ID { get; set; }
public string Description { get; set; }
public string StockItem { get; set; }
public string MinimumStock { get; set; }
}
List<yourClass> result = new List<yourClass>();
db.Extras.ToList().ForEach(c => result.Add(new yourClass { ID="id" , Description="desc" , MinimumStock="minimum" , StockItem="stock" }));
公共类您的类
{
公共字符串ID{get;set;}
公共字符串说明{get;set;}
公共字符串StockItem{get;set;}
公共字符串MinimumStock{get;set;}
}
列表结果=新列表();
ForEach(c=>result.Add(newyourclass{ID=“ID”,Description=“desc”,MinimumStock=“minimum”,StockItem=“stock”});
要使用的结构、字典、列表等的选择,。。。不取决于要存储的数据,而是取决于插入、搜索、排序等约束条件,。。
若你们使用字典,我想你们需要快速检索条目。您可以继续使用字典,只需将值类型从字符串替换为新类:
public class NewClass
{
public string Id{ get; set; }
public string Description { get; set; }
//......
}
db.Extras.ToList().ForEach(c => result.Add(x.Id, new NewClass(x.Id/*other field*/));
选择要使用的结构、词典、列表等,。。。不取决于要存储的数据,而是取决于插入、搜索、排序等约束条件,。。 若你们使用字典,我想你们需要快速检索条目。您可以继续使用字典,只需将值类型从字符串替换为新类:
public class NewClass
{
public string Id{ get; set; }
public string Description { get; set; }
//......
}
db.Extras.ToList().ForEach(c => result.Add(x.Id, new NewClass(x.Id/*other field*/));
选择要使用的结构、词典、列表等,。。。不取决于要存储的数据,而是取决于插入、搜索、排序等约束条件,。。 若你们使用字典,我想你们需要快速检索条目。您可以继续使用字典,只需将值类型从字符串替换为新类:
public class NewClass
{
public string Id{ get; set; }
public string Description { get; set; }
//......
}
db.Extras.ToList().ForEach(c => result.Add(x.Id, new NewClass(x.Id/*other field*/));
选择要使用的结构、词典、列表等,。。。不取决于要存储的数据,而是取决于插入、搜索、排序等约束条件,。。 若你们使用字典,我想你们需要快速检索条目。您可以继续使用字典,只需将值类型从字符串替换为新类:
public class NewClass
{
public string Id{ get; set; }
public string Description { get; set; }
//......
}
db.Extras.ToList().ForEach(c => result.Add(x.Id, new NewClass(x.Id/*other field*/));
请看一下你的标题,它很烦人。结构在这里是没有用的。您应该考虑第二类字典的列表,或者自定义类型.>代码>字典或int和对象字典,其中对象保存值。code>字典@user2946329-是的,非常感谢,你和其他人的答案对我帮助很大:)请查看你的标题,它很烦人。结构在这里是没有用的。您应该考虑第二类字典的列表,或者自定义类型.>代码>字典或int和对象字典,其中对象保存值。code>字典@user2946329-是的,非常感谢,你和其他人的答案对我帮助很大:)请查看你的标题,它很烦人。结构在这里是没有用的。您应该考虑第二类字典的列表,或者自定义类型.>代码>字典或int和对象字典,其中对象保存值。code>字典@user2946329-是的,非常感谢,你和其他人的答案对我帮助很大:)请查看你的标题,它很烦人。结构在这里是没有用的。您应该考虑第二类字典的列表,或者自定义类型.>代码>字典或int和对象字典,其中对象保存值。代码>字典@user2946329-是的,非常感谢,你和其他人的答案对我帮助很大:)