Which one is faster string[] or List

25 浏览
0 Comments

Which one is faster string[] or List

可能是重复的问题:

更好的是在LINQ查询中调用ToList()还是ToArray()?

你好,

我有以下代码

static void Main(string[] args)
{
    const string FileName = @"c:\words";
    HashSet wordLookup = new HashSet(File.ReadAllLines(FileName), StringComparer.InvariantCultureIgnoreCase);
    List wordList1 = wordLookup.ToList();
    string[] wordList2 = wordLookup.ToArray();
}

请问哪个更快?

`List wordList1 = wordLookup.ToList();`

还是

`string[] wordList2 = wordLookup.ToArray();`

0
0 Comments

字符串数组和列表中的字符串哪个更快?这个问题的出现是因为作者对这两种方法的性能比较感兴趣。要解决这个问题,需要进行时间测试。最初作者倾向于认为使用ToArray方法会更快,但实际上只有进行测试才能确定。

另一位作者最初的反应则相反。在这两种情况下,数组都会被反复重新分配(当数组满时)。对于ToList方法,重新分配的数组将在列表内部,最终的列表可以直接返回。而对于ToArray方法,通常还需要额外的步骤将结果数据复制到正确长度的数组中。

根据这些观点,无法确定哪种方法更快,因此需要进行时间测试。

0
0 Comments

List<T>使用数组作为内部数据结构,所以我猜它们的速度应该是一样的。然而,这并不重要——使用能让你的代码更清晰的方法就好。

在这段内容中,提到了使用List<T>string[]的速度问题。原因是List<T>内部使用了数组,因此它们的速度应该是相同的。然而,作者强调了这并不重要,更重要的是选择让代码更清晰的方法。

解决这个问题的方法是根据代码的可读性来选择使用List<T>string[]。这两种方法在性能上应该是相近的,所以应该根据代码的需求和可读性来做出决定。

总结起来,List<T>string[]在速度上应该是相近的,应该根据代码的可读性来选择使用哪种方法。

0