标签: stringcollection

性能问题:StringCollection与List <String>

我想知道何时应该使用List <string>以及何时应该使用StringCollection.

假设我必须处理大量的字符串(比如10mb的文本文件).

我知道List <T>提供了比StringCollection更强大的功能 .

但有时我发现List <T> 很慢,例如告诉Gridview它的数据源是List <String> ...

那么有谁知道这些收藏品的优缺点,关于记忆中的速度和重量?

关于它们的功能,我相信每个人都会同意说List是最好的,所以我的问题不在于此.考虑问题是关于Frameworks 4.0上的项目,因此两者都可以使用.

c# performance list .net-4.0 stringcollection

33
推荐指数
2
解决办法
1万
查看次数

初始化StringCollection设置

我正在编写一个应用程序,我想存储用户选择的文件列表.目前,我的一个设置是名为filesToFetch的StringCollection,它是用户范围的,包含程序应该获取的所有文件的路径.我有一个按钮,允许用户将新文件添加到列表中.这是按钮单击事件的代码

private void button1_Click(object sender, EventArgs e)
{
    DialogResult result = openFileDialog1.ShowDialog();
    if (result == DialogResult.OK)
    {
        Properties.Settings.Default.filesToFetch.Add(openFileDialog1.FileName);
        Properties.Settings.Default.Save();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将新文件添加到StringCollection时,我收到错误

NullReference异常未处理

你调用的对象是空的.

我认为这可能会发生,因为filesToFetch尚未初始化,但我不确定.我可能是错的,但我认为一个对象在初始化时会得到一个名称,并且由于我的设置都在设计时获得了名称,我认为它们会在程序运行时自动初始化,但现在我想我可能是错的对这个.这是问题,还是我错过了别的什么?

这是我的设置的屏幕截图以供参考.

属性设置

c# settings stringcollection

7
推荐指数
2
解决办法
9470
查看次数

如何将System.Collections.Specialized.StringCollection的内容写入文件?

我没有运气搜索显而易见的地方,以回答为什么使用File.WriteAllLines(); 输出StringCollection时不起作用:

static System.Collections.Specialized.StringCollection infectedLog = new System.Collections.Specialized.StringCollection();
Run Code Online (Sandbox Code Playgroud)

在这里省略已填充的感染日志代码.......

File.WriteAllLines(@"C:\CustomSearchInfectedFiles.txt", infectedLog);
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我我做错了什么,或者指出一个令人满意的解释方向?

c# stringcollection

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

使用LINQ-to-Entities查询中的"应用程序设置"中指定的StringCollection

在我的应用程序中,我有属性设置,其类型为String.Collections.Specialized.StringCollection.它包含一系列客户代码,例如MSFT,SOF,IBM等.我正在尝试在where子句中的Linq-to-Entities查询中使用它:

var ShippedOrders = dbcontext.Orders
 .Where(s=>(s.Status.Description.Equals("Shipped") && !Properties.Settings.Default.CustomersToExclude.Contains(s.CustomerCode)));
Run Code Online (Sandbox Code Playgroud)

这失败,因为Linq-to-Entities无法识别包含类似于以下消息的包含:

"LINQ-to-Entities无法识别方法包含......"

如何修改上面的代码以避免此错误?

c# settings linq-to-entities stringcollection c#-4.0

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