从IEnumerable中的字符串获取值
本文关键字:获取 字符串 IEnumerable | 更新日期: 2023-09-27 18:25:12
我有以下代码
public const string boy = "B";
public const string girl = "G";
private gender(string description, string value)
{
Description = description;
Value = value;
}
public static IEnumerable<gender> GetAll()
{
yield return new gender("Boy", boy);
yield return new gender("Girl", girl);
}
我想找到一种方法,给我的程序字符串"男孩",并得到字符串"B"作为它应该得到的结果。这怎么可能?
var param = "Boy";
var someBoy = GetAll().Where(g => g.Description == param).Select(g => g.Value).Single();
几乎与prevois中的答案相同,但检查是否收到错误值:)
var rez = GetAll().FirstOrDefault(g=>g.Description==string_received);
if(rez==null) throw new ArgumentException();
return rez.Value;
为什么要使用IEnumerable方法和Gender类?在这种情况下,应该使用枚举。这样定义您的枚举:
public Enum Gender { Boy, Girl };
然后,你可以这样做:
Gender gender = Gender.Boy;
string description = gender.ToString();
// If you want to use 'B' as value...
string value = description[0];
在此处阅读有关枚举的更多信息:http://www.dotnetperls.com/enum