gpt4 book ai didi

c# - 如何从 C# 代码确定存储在 SQL Server 中的按位代码值

转载 作者:行者123 更新时间:2023-11-30 23:28:35 25 4
gpt4 key购买 nike

我想从 C# 代码中读取存储到 SQL Server 中的按位值。

假设以下代码将按位值存储到数据库中。

DECLARE @MedCopay VARCHAR(1);
DECLARE @MedDeductible VARCHAR(1);
DECLARE @MedCoins VARCHAR(1);
SET @MedCopay = 'Y';
SET @MedDeductible = 'N';
SET @MedCoins = 'Y';

SELECT CASE
WHEN @MedCopay = 'Y'
THEN 1
ELSE 0
END|CASE
WHEN @MedDeductible = 'Y'
THEN 10
ELSE 0
END|CASE
WHEN @MedCoins = 'Y'
THEN 100
ELSE 0
END;

上面的查询会将下面的值存储到数据库中

101

所以问题是我如何编写 C# 代码来确定

 101 = MedCopay & MedCoins?

最佳答案

你在寻找枚举吗?

[Flags]
public enum Med {
Copay = 1,
Deductable = 2,
Coins = 4
};

等等

   // 101
Console.Write(Convert.ToString((int) (Med.Copay | Med.Coins), 2));

反转:

  String source = "101";

Med parsed = (Med) (Convert.ToInt32(source, 2));
// Copay, Coins
Console.Write(parsed);

你可能想为此实现一个扩展类:

  public static class MedExtensions {
public static String Represent(this Med value) {
return Convert.ToString((int) value, 2);
}
}

所以测试将是

  Console.Write((Med.Copay | Med.Coins).Represent());

关于c# - 如何从 C# 代码确定存储在 SQL Server 中的按位代码值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35935360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com