试图创建一个实现get枚举器的uebersimple类,但由于缺少简单/无功能的例子而疯狂失败.我想做的就是在数据结构周围创建一个包装器(在这种情况下是一个列表,但我以后可能需要一个字典)并添加一些函数.
public class Album
{
public readonly string Artist;
public readonly string Title;
public Album(string artist, string title)
{
Artist = artist;
Title = title;
}
}
public class AlbumList
{
private List<Album> Albums = new List<Album>;
public Count { get { return Albums.Count; } }
.....
//Somehow GetEnumerator here to return Album
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
可能是一个愚蠢的问题,但我有很多:
if(X)
{
foreach(var Y in myList.Where(z => z == 1)
{
}
}
Run Code Online (Sandbox Code Playgroud)
一些代码中的构造
正在替换它
foreach(var Y in myList.Where(z => X && z == 1) { }
Run Code Online (Sandbox Code Playgroud)
疯?
它可能不太可读,但编译器会优化它以使它几乎相同的代码吗?
我们正在制作一个相当严肃的应用程序,需要与客户想要使用的数据库保持无关.最初我们计划支持MySQL,Oracle和SQL Server.表和视图和查询一样简单(没有真正奇特的SQL),因此问题是:
显然,选项2不涉及开销,但我认为性能不如原生访问那么大?
我有大约100,000行通用数据.此数据的列/属性是用户可定义的,并且是常用的数据类型(字符串,整数,双精度,日期).将有大约50列/属性.
我有2个需求:
DataTable:
Pros: DataColumn.Expression is inbuilt
Cons: RowFilter & coding c# is not as "nice" as LINQ,
DataColumn.Expression does not support callbacks(?)
=> workaround could be to get & replace external value when creating
the calculated column
GenericList:
Pros: LINQ syntax, NCalc supports callbacks
Cons: Implementing NCalc/generic calc engine
基于以上所述,我认为GenericList方法会获胜,但我没有考虑的是性能,由于某些原因,我认为使用数据表会更好. …
只是让我的头围绕Linq并享受很多乐趣!任何人都可以帮我查询:
我有一个数据列表:
Key Value
Aaa 12
AaA 10
AAa 5
BBB 2
Bbb 1
1.我想GROUP BY Key.ToUpper()
Key Max Total
AaA 12 27
AAa 12 27
Bbb 2 3
谢谢!
更新,实际上我还需要最大条目中的密钥:
Key Max Total Correct
AaA 12 27 Aaa
AAa 12 27 Aaa
Bbb 2 3 BBB 我有一个字符串"hello [world] this {is} a(test)"我想删除大括号中的所有文本,例如返回"你好这个".但只有大括号匹配.
有人有一个很好的解决方案吗?
只是一个快速查询:我有一段代码将一个字符串与一长串值进行比较,例如
if(str == "string1" || str == "string2" || str == "string3" || str == "string4".
DoSomething();
Run Code Online (Sandbox Code Playgroud)
代码清晰度和可维护性的兴趣我把它改成了
public static string[] strValues = { "String1", "String2", "String3", "String4"};
...
if(strValues.Contains(str)
DoSomething();
Run Code Online (Sandbox Code Playgroud)
只发现代码执行时间从2.5秒到6.8秒(执行大约200,000次).
我当然明白了一个轻微的表现权衡,但300%?
无论如何,我可以不同地定义静态字符串以提高性能?
干杯.
foreach (DataRow row in myDataTable.Select())
foreach (DataRow row in myDataTable.AsEnumerable())
foreach (DataRow row in myDataTable.Rows)
Run Code Online (Sandbox Code Playgroud)
有什么区别?
我正在考虑用Linq替换很多内联的foreach,这样做会产生新的方法,例如Current:
foreach(Item in List)
{
Statement1
Statement2
Statement3
}
Run Code Online (Sandbox Code Playgroud)
理念:
List.Foreach(Item => Method(Item))
Run Code Online (Sandbox Code Playgroud)
显然,Method()包含Statement1..3
这是一种好的做法还是数千次调用方法会降低性能?我的名单有10,000-100,000个元素.
在C#中是否有任何内置方式将文本拆分为单词和分隔符数组?我想要的是:
text = "word1 + word2 - word3";
string[] words = text.Split(new char[] { '+', '-'});
//Need list '+', '-' here?
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?显然我可以手工处理文本...... :)