我有以下代码
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);
}
我想找到一种方法给我的程序字符串“Boy”,并得到字符串“B”,因为它应该。这怎么可能?
答案 0 :(得分:1)
var param = "Boy";
var someBoy = GetAll().Where(g => g.Description == param).Select(g => g.Value).Single();
答案 1 :(得分:1)
与之前的答案几乎相同,但检查收到的错误值:)
var rez = GetAll().FirstOrDefault(g=>g.Description==string_received);
if(rez==null) throw new ArgumentException();
return rez.Value;
答案 2 :(得分:0)
为什么你甚至想使用IEnumerable方法和Gender类?在这种情况下你应该使用Enum。像这样定义你的枚举:
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