如何从包含字符串中查找数组列表的数量
Posted
技术标签:
【中文标题】如何从包含字符串中查找数组列表的数量【英文标题】:how to find number of array list from contains string 【发布时间】:2020-11-20 21:32:54 【问题描述】:如何找到与包含字符串相同的数组列表的数量,我想让包含字符串“guess1”得到“answer1”,“guess2”得到“answer2”。如何找到与包含字符串相同的n个数组?
public class FindContainsText : MonoBehaviour
public Text text;
public InputField intext;
List<string> guess = new List<string>();
List<string> answer = new List<string>();
private int n;
void Start()
guess.Add("test1");
guess.Add("test2");
answer.Add("answer1");
answer.Add("answer2");
// Update is called once per frame
void Update()
foreach (string x in guess)
if (intext.text.ToLower().Contains(x.ToLower()))
text.text = answer[n];
return;
text.text = "not found";
【问题讨论】:
【参考方案1】:那么你应该使用Dictionary
类型。
private Dictionary<string, string> guessAnswerDict = new Dictionary<string, string>();
private void Start()
guessAnswerDict["test1"] = "answer1";
guessAnswerDict["test2"] = "answer2";
您可以检查测试是否存在于字典中
guessAnswerDict.Contains("test1");
并得到答案值
var answer = guessAnswerDict["test1"];
当字典中没有key时会抛出异常,所以你必须用Contains
检查它。
当然你可以将这两个与TryGetValue
合并,比如
string answer;
guessAnswerDict.TryGetValue("test1", out answer);
// Totally identical!!
guessAnswerDict.TryGetValue("test1", out var answer);
如果字典中没有键,TryGetValue
将返回 false
。
顺便说一句,虽然 C# 的默认访问修饰符是 private
,但最好明确地写成 private
,这会增加代码的可读性 :)
【讨论】:
感谢您的回复,我如何将“test1”更改为变量,以便在输入与猜测相同的文本时检查“test2”、“test3”,...? 就是你说的!var test = userInput; var answer guessAnswerDict[userInput];
以上是关于如何从包含字符串中查找数组列表的数量的主要内容,如果未能解决你的问题,请参考以下文章