我有箭头的strings
string [] cargs
Run Code Online (Sandbox Code Playgroud)
我想从k第一个索引开始迭代它.有替代品吗?
var iter = cargs.GetEnumerator();
for (int i = 0; i <= k; ++i) iter.MoveNext();
Run Code Online (Sandbox Code Playgroud)
???
另外,我试图找出iter上面代码片段中的类型.当我在Visual Studio中将鼠标悬停在它上面时,我被告知它是类型System.Collections.IEnumerator,但我将行更改为
IEnumerator iter = cargs.GetEnumerator();
Run Code Online (Sandbox Code Playgroud)
VS告诉我Using the generic System.Collections.Generic.IEnumerator<T> requires 1 type arguments.我接着试过了
IEnumerator<string> iter = cargs.GetEnumerator();
Run Code Online (Sandbox Code Playgroud)
和
IEnumerator<string[]> iter = cargs.GetEnumerator();
Run Code Online (Sandbox Code Playgroud)
那么...... cargs.GetEnumerator()真的是什么类型的?
根据MSDN,唯一的返回值main()可以是void或int:https://msdn.microsoft.com/en-us/library/0fwzzxz2.aspx.
根据我正在尝试的编程挑战,
本文档指定了csLogic.exe程序的预期操作
csLogic [equation] [parameter1] [parameter2] [parameter3] ...
示例用法:csLogic.exe~1 ^(2~&3)0x3FFE 0x2FCE 0xFCC1
返回值:4926(0x133E)
[...]
参数最多为64位值
[...]
有没有办法让我main()返回64位值?或者有办法解决这个问题吗?
真???
我搜索了https://msdn.microsoft.com/en-us/library/system.string(v=vs.110).aspx,并没有看到任何方法可以直接将一个字符推到最后一个字符串.我能想到的最好的是
mystr.Insert(mystr.Length, newchar.ToString());
Run Code Online (Sandbox Code Playgroud)
由于将字符转换为字符串并执行字符串连接所涉及的开销,这似乎是无效的.我的特定用例看起来像
while (eqtn[curidx] >= '0' && eqtn[curidx] <= '9') istr.Insert(istr.Length, eqtn[curidx++].ToString());
Run Code Online (Sandbox Code Playgroud)
只因为我想不出更好的办法.有没有更好的办法?