正在分配变量枚举值

本文关键字:枚举 变量 分配 | 更新日期: 2023-09-27 18:26:43

我有以下枚举

public enum Outcome
{
   DontKnow = 0,
   Good = 1,
   Bad = 2,
   NotBad = 3
}

在我的Results类中,我有一个带有以下枚举的属性:

public class Result
{
   public int Id { get; set; }
   public string Name { get; set; }
   public Outcome FinalOutcome { get; set; }
}

当我使用SqlDataReader从数据库中读取数据时,如何分配其值?

while(reader.Read())
{
   Id = Convert.IsDbNull(reader[0]) ? Convert.ToInt32(0) : Convert.ToInt32(reader[0]);
   Name = Convert.IsDbNull(reader[1]) ? string.Empty : reader[1].ToString();
   FinalOutcome = Convert.IsDbNull(reader[2]) ? WhatGoesHere? : WhatGoesHere?;
}

正在分配变量枚举值

while(reader.Read())
{
   Id = Convert.IsDbNull(reader[0]) ? Convert.ToInt32(0) : Convert.ToInt32(reader[0]);
   Name = Convert.IsDbNull(reader[1]) ? string.Empty : reader[1].ToString();
   FinalOutcome = Convert.IsDbNull(reader[2]) ? FinalOutcome.DontKnow : (Outcome) Convert.ToInt32(reader[2]);
}

假设您的源列是一个可以为null的int:

FinalOutcome = !Convert.IsDbNull(reader[2]) ?(OutCome)reader[2] : (OutCome)0;