我得到了我自己的类的对象列表,看起来像:
public class IFFundTypeFilter_ib
{
public string FundKey { get; set; }
public string FundValue { get; set; }
public bool IsDisabled { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
IsDisabled通过查询collection.Where(some condition)和计算匹配对象的数量来设置属性.结果是IEnumarable<IFFundTypeFilter_ib>不包含属性Count.我想知道,什么会更快.
这个:
collection.Where(somecondition).Count();
Run Code Online (Sandbox Code Playgroud)
或者这个:
collection.Where(someocondition).ToList().Count;
Run Code Online (Sandbox Code Playgroud)
集合可能包含很少的对象,但也可以包含,例如700.我将进行两次计数调用和其他条件.在第一个条件中,我检查FundKey是否等于某个键,在第二个条件中我做同样的事情,但我将它与其他键值进行比较.
我有一个看起来像这样的文件:
[...]
UTS+48:::{7}:{8}+{9}'
UTB+454343::34343+{10}-{12}'
[...]
Run Code Online (Sandbox Code Playgroud)
在我的表单中选择文件后,我将整个文件读入一个字符串.现在,我需要找到这些括号之间的最大数字{}.什么是最好的解决方案?我已经解决了这个问题,但在我看来,我的解决方案并不是最好的.我正在考虑使用一些正则表达式,但我很不清楚如何正确使用它.
这是我的解决方案:
private int GetNumberOfParameters(string text)
{
string temp = File.ReadAllText(text);
string number = String.Empty, highestNumber = String.Empty;
bool firstNumber = true;
for (int i = 0; i < temp.Length; i++)
{
if (temp[i].Equals('{'))
{
int j = i;
j++;
while (!temp[j].Equals('}'))
{
number += temp[j];
j++;
}
if (firstNumber)
{
highestNumber = number;
number = String.Empty;
firstNumber = false;
}
else if (Int16.Parse(number) > Int16.Parse(highestNumber))
{
highestNumber = number;
number = String.Empty;
}
else …Run Code Online (Sandbox Code Playgroud)