String.Split()函数神秘地忽略重复

时间:2016-01-10 23:13:08

标签: c# unity3d split

在Unity3D中,我正在阅读包含节点及其连接信息的文本文件。

然而,似乎所有重复项都会自动删除!

           for (int j = 0; j < tokens.Length; j++)
           {
               Debug.Log(tokens[j]);
           } }

控制台中的结果:

Node,Node2,Node2,Lamp,Lamp,Node1,Node3,Node4   // string text
Node
Node2
Lamp
Node1
Node3
Node4

因此,当在数组上循环时,它似乎会跳过重复项。

2 个答案:

答案 0 :(得分:3)

这是Unity中臭名昭着的gotchya

非常简单,在Unity控制台中:

它不打印重复!!!

enter image description here

通过控制台输出更仔细地查看,并且有一个Collapse切换,使其显示或不显示重复项。

enter image description here

就这么简单。

答案 1 :(得分:-3)

即使拆分不应删除重复项(已测试here),您也可以尝试使用Regex和Linq。

var words = Regex.Matches("Node,Node2,Node2,Lamp,Lamp,Node1,Node3,Node4", @",?(\w+)").Cast<Match>().Select(x => x.Groups[1].Value);