我有一个变量(serial_and_username_and_subType),它包含这种类型的文本:
CT-AF-23-GQG %username1% *subscriptionType*
DHR-345349-E %username2% *subscriptionType*
C3T-AF434-234-GQG %username3% *subscriptionType*
34-7-HHDHFD-DHR-345349-E %username4% *subscriptionType*
示例:ST-NN1-CQ-QQQ-G12 %RandomDUDE12% *Lifetime*
之后,我有一个IF指令,检查用户输入的内容是否存在于serial_and_username_and_subType中。
如果(userInput。包含(serial_and_username_and_subType ))......
那么,我想做的(但我有麻烦)是,当有人输入一个串行时,程序打印透视用户名和订阅:
例如:
Please enter your Serial:
> ST-NN1-CQ-QQQ-G12
Welcome, RandomDUDE12!
You currently have a Lifetime subscription!
有没有人知道一个方法或一种方式来获得我需要什么?
您已经在使用Contains()了。你还可以使用
- Substring ()
- 分裂()
- IndexOf ()
Split()
可能是最简单的一个,只要您可以保证%
和*
都不是串行,用户名或许可证的一部分:
var s = "ST-NN1-CQ-QQQ-G12 %RandomDUDE12% *Lifetime*";
var splitPercent = s.Split('%');
Console.WriteLine(splitPercent[1]);
var splitStar = s.Split('*');
Console.WriteLine(splitStar[1]);
只要你只有几个许可证(也许几千个就可以了,因为pc速度很快),这种方法就可以工作得很好。如果您有很多许可证(比如数百万个),您可能希望分离所有这些信息,使其不是字符串,而是数据结构。然后,您将使用字典并直接访问信息,而不是遍历所有信息。