小编Fai*_*101的帖子

在C#中是否可以在特定索引处启动迭代器?

我有箭头的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()真的是什么类型的?

c# data-structures

3
推荐指数
1
解决办法
111
查看次数

是否有任何"黑客"能够从main()返回长?

根据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位值?或者有办法解决这个问题吗?

c# algorithm

1
推荐指数
1
解决办法
69
查看次数

C#String类:无法将字符推送到字符串的末尾?

真???

我搜索了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)

只因为我想不出更好的办法.有没有更好的办法?

c# string optimization

0
推荐指数
1
解决办法
95
查看次数

标签 统计

c# ×3

algorithm ×1

data-structures ×1

optimization ×1

string ×1