c# - 根据c#中的字符串值为某个整数分配一个值

标签 c#

假设我有 3 个整数都声明为

int Y = 0;
int N = 0;
int U = 0;

从那里我从存储过程中获取 2 个值(一个字符串和 1 个整数)。
字符串返回 Y,N,U
该整数返回参加人数。

string test = dr["ATTEND_CDE"].ToString();
int test2 = int.Parse(dr["COUNT"].ToString());

是否有更好的方法来为相应的整数分配计数,除了:

if (test == "Y")
{
    Y = test2;
}
else if (test == "N")
{
    N = test2;
}
else if (test == "U")
{
    U = test2;
}

最佳答案

这里真正拥有的是 string(“Y”、“N”或“U”)和 int 之间的映射。

这是 Dictionary 的完美用例(C# 6 语法如下):

Dictionary<string, int> myValues = new Dictionary<string, int>()
{
    ["Y"] = 0,
    ["N"] = 0,
    ["U"] = 0
};

//usage
myValues[stringFromDatabase] = valueFromDatabase;

请注意,如果数据库中的值是垃圾,这将抛出(这可能是您想要的)。

关于c# - 根据c#中的字符串值为某个整数分配一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102282/

相关文章:

C# 'Task' 在命名空间 'System.Threading' 中不存在

c# - C# 中的 Hadoop - 响应状态代码不表示成功 : 500 (Server Error)

c# - ASP.NET Rotativa 从另一个 Controller 的 View 生成 PDF

C#、Excel、OleDB、插入语句不起作用

c# - SignalR.Owin 与 SignalR.SelfHost

c# - 避免在 native 到托管回调上分配字符串

c# - 让 EntityFramework 尊重 mysql max_user_connections

c# - ASP.NET 中的 Console.WriteLine

c# - 在 C# 中通过 Internet 安全可靠地进行更新

C# Hashtable 内部数据结构