我试图比较的字符串如下:
Discovered Peripherial: <CBPeripheral: 0x39b8b50 identifier = DEEE65FB-FF1F-A6A9-4C3C-5784F41B0D39, Name = "rawr", state = connecting>
我要做的是检查我存储在程序中的标识符号。为此,我做了以下工作:
private void AppendString(string message)
{
message.Substring(message.Length-77, message.Length);
outputContent.text += "\n" + message;
}
\n 在那里,因为我正在阅读 6 个不同的设备,它们都生成上述行。所以我需要一些东西让它更容易阅读。
然后在我的更新功能中,我正在检查它们是否类似:
if(String.Equals(myValues["UUID"], outputContent.text, StringComparison.OrdinalIgnoreCase))
{
Instantiate(model1, new Vector3(-2.5f, 3.0f,0), Quaternion.identity);
}
但是,当我在 iPad 上运行它时,xCode 会生成以下消息:
ArgumentOutOfRangeException: startIndex + length > this.length
Parameter name: length
我猜这意味着我算错了我需要从子字符串中倒数的字符数量。
我的问题是这样的:
有没有更好的方法可以将我的存储值与一个非常长的字符串的特定部分的存储值进行比较,或者我是否在我的代码中做了一些愚蠢的事情来产生那个错误?
这是我在 iPad 上构建的 Unity 项目,它使用了一些我无法在 Mac 上复制的功能。