gpt4 book ai didi

c# - 如何在 C# 中循环二维网格决策树?

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

我有一个对象列表,我必须根据两个标准设置一个属性,二维网格如下所示:

Property 2\Property 1   B<80        80<B<100       100<B<120           B>120
A < 100 None Red Orange Orange
100 < A < 120 None Red Orange Green
120 < A < 140 None Red Green Green
140 < A None Orange Green Green

有没有好的方法循环Property 1和Property 2来动态设置对象属性?将来我们可能会添加一些标准,我想做多个 ifs 并不是一个好的解决方案。我正在努力避免冗余代码。

谢谢

最佳答案

如果您怀疑事情会经常发生变化,我建议您使用数组查找。最好从数据库或外部文件加载数据(以便于配置),但这里我对数组进行了硬编码:

        int[] alimits = new int[] { 100, 120, 140, int.MaxValue };
int[] blimits = new int[] { 80, 100, 120, int.MaxValue };
int aval = 125;
int bval = 110;

int aindex = 0;
for (int i = 0; i < alimits.Count(); i++)
if (aval < alimits[i])
aindex = i;

int bindex = 0;
for (int i = 0; i < blimits.Count(); i++)
if (bval < blimits[i])
bindex = i;

string[,] values = new string[,] {
{"None", "Red", "Orange", "Orange"},
{"None", "Red", "Orange", "Green"},
{"None", "Red", "Green", "Green"},
{"None", "Orange", "Green", "Green"}};

这是未经测试的,但应该给你基本的想法。您得到的结果为 values[aindex, bindex]

关于c# - 如何在 C# 中循环二维网格决策树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086927/

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