gpt4 book ai didi

c# - 多个返回案例的条件 ifs

转载 作者:太空宇宙 更新时间:2023-11-03 20:53:55 27 4
gpt4 key购买 nike

我有以下条件一个类和一个方法

public class ReturnParameter
{
public string v1 {get; set;}
public string v2 {get; set;}
public string v3 {get; set;}
}


public string RideCombination(ReturnParameter retor)
{
var v1 = retor.v1;
var v2 = retor.v2;
var v3 = retor.v3;


// case 1
if(v1 == "A" && v2 == "b" && v3 == "C" )
return "valid 1 "

// case 2
if(v1 == "C" && v2 == "A" && v3 == "C" )
return "valid 2 "

// case 3
if(v1 == "D" && v2 == "T" && v3 == "C" )
return "valid 3 "

// case 4
if(v1 == "A" && v2 == "B" && v3 == "C" )
return "valid 4 "

}

假设我有 20 个条件,我必须使用 20 个 ifs 来返回 20 个不同的组合,有什么方法可以消除多个条件而不必一个一个地做?

最佳答案

您可以使用值元组和返回值的字典:

var mapping = new Dictionary<(string, string, string), string>
{
[("A", "b", "C")] = "valid 1",
// ...
};

if (mapping.TryGetValue((retor.v1, retor.v2, retor.v3), out var result))
{
return result;
}
else
{
// when none match...
}

关于c# - 多个返回案例的条件 ifs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52525628/

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