我看到这个问题给出了一个字符串"smith; rodgers; McCalne"你怎么能产生一个集合.答案是使用String.Split.
如果我们没有内置的Split()代替你做什么?
更新:
我承认编写分割函数相当容易.以下是我写的内容.使用IndexOf循环遍历字符串并使用Substring进行提取.
string s = "smith;rodgers;McCalne";
string seperator = ";";
int currentPosition = 0;
int lastPosition = 0;
List<string> values = new List<string>();
do
{
currentPosition = s.IndexOf(seperator, currentPosition + 1);
if (currentPosition == -1)
currentPosition = s.Length;
values.Add(s.Substring(lastPosition, currentPosition - lastPosition));
lastPosition = currentPosition+1;
} while (currentPosition < s.Length);
Run Code Online (Sandbox Code Playgroud)
我看了一下SSCLI的实现和上面的类似,除了它处理更多的用例,并且在进行子字符串提取之前使用不安全的方法来确定分隔符的索引.
其他人提出以下建议.
是这个吗?