微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

查看字符串列表的条目,尝试使用每个条目查看是否与应该将 bool 变为 true 的目标匹配

如何解决查看字符串列表的条目,尝试使用每个条目查看是否与应该将 bool 变为 true 的目标匹配

所以这是针对我尝试检查目标的特定状态效果的游戏。

我有一个包含特定状态效果字符串的列表:

List<string> StatusList = new List<string>
            { "Status1","Status2","Status3",};

然后游戏有一个 API 来检查目标的状态效果
我希望它与列表交叉检查以查看列表中是否有任何匹配项 - 即整个列表不需要匹配,只有单个条目匹配就足以返回 true。
这是检查它的布尔值。

bool Hasstatus(string StatusName,string Unit = "target");

所以到目前为止我已经有了以下内容来检查列表,但我不完全确定这是否正确,然后我不知道如何编写上面的 bool 以“回拨”那个?

bool StatusTest = API.Hasstatus(StatusList.Status,"target");

foreach (string Status in StatusList)
{
    if (API.Hasstatus(Status,"target"))
    {
        StatusTest = true;
    }
}

以上当然会产生错误,所以我没有正确编写。有什么想法可以解决这个问题吗?

解决方法

如果您只想检查字符串列表中是否存在字符串,可以使用 Contains 方法。例如:

List<string> StatusList = new List<string>
            { "Status1","Status2","Status3",};

if(StatusList.Contains(someStatusToCheck)) {
   // Do something here
}

此外,对 HasStatus 的调用似乎有一个不正确的参数。 StatusList.Status 会抛出错误,因为在 Status 类型上没有属性 List<String>

,

这个函数应该是比较状态的函数。有了目标后,使用以下方法获取 truefalse 值:

bool result = StatusTest("example_of_target")

List<string> StatusList = new List<string>
            { "Status1",};

bool StatusTest(string target) {
        foreach (string Status in StatusList)
       {
         if (Status == target)
           return true       
       }
}
,

感谢所有不同的建议!

最后是什么为我解决了这个问题。

private bool StatusTest;

List<string> StatusList = new List<string>
            { "Status1","Status4",};

                foreach (string Status in StatusList)
                {
                if (API.HasStatus(Status,"target"))
                {
                        StatusTest = true;
                }
                else { StatusTest = false; }
                }
            

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。