gpt4 book ai didi

operators - 现金或信用问题

转载 作者:行者123 更新时间:2023-12-02 23:17:30 24 4
gpt4 key购买 nike

如果您去商店询问“现金还是信用卡?”他们可能会简单地说"is"。当您提出 OR 语句时,这不会告诉您任何信息。 如果(现金||信用)

对于人类来说,他们可能会对这个问题回答“两者”,或“仅{现金 | 信用}”。有没有办法(或运算符)强制 a 语句返回语句的 TRUE 部分?例如:

boolean cash = true;
boolean credit = true;
boolean check = false;

if(cash || credit || check)
{
// In here you would have an array with cash and credit in it because both of those are true
}

我想指出,这不是我想要解决的问题。这是我正在思考的事情,并且想知道这是否可能。我想不出一个实用的应用程序。

最佳答案

在 C# 中,您可以使用带有 Flags 属性集的枚举来执行与此非常类似的操作。

[Flags]
enum MethodOfPayment
{
None = 0,
Cash = 1,
Credit = 2,
Check = 4
}

使用示例:

void Run()
{
MethodOfPayment m = MethodOfPayment.Cash | MethodOfPayment.Credit;
if (m != MethodOfPayment.None)
{
// You can now test m to see which values are selected.

// If you really want the values in an array, you can do this:
MethodOfPayment[] selected = getSelectedValues(m).ToArray();
// selected now contains { Cash, Credit }
}
}

// Helper method to get the selected values from the enum.
IEnumerable<MethodOfPayment> getSelectedValues(MethodOfPayment m)
{
foreach (MethodOfPayment x in Enum.GetValues(typeof(MethodOfPayment)))
{
if ((m & x) != MethodOfPayment.None)
yield return x;
}
}

关于operators - 现金或信用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821215/

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