System.Array的。不包含“ToList”的定义

时间:2011-04-04 12:22:55

标签: .net-3.5 c#-3.0

我在

下面的代码的ToList()行上遇到上述错误
if (emailReplyTo != null)
{
  System.Collections.Generic.List<String> replyto
    = emailReplyTo
    // Strip uneccessary spaces
    .Replace(", ", ",")
    .Split(',')
    .ToList();

  request.WithReplyToAddresses(emailReplyTo);
}

我已将using System.Collections;添加到我的文件顶部。 目标框架是3.5,那为什么会导致错误?

7 个答案:

答案 0 :(得分:89)

您正在寻找的ToList方法是一种扩展方法。尝试将此using指令添加到文件顶部:

using System.Linq;

通过添加此using指令,您将向编译器指示应该导入该命名空间中的任何扩展方法。令人遗憾的是,Visual Studio在导入扩展方法方面没有更多的帮助(ReSharper做得相当不错)。

答案 1 :(得分:8)

ToList()是一种扩展方法。也许你错过了

using System.Linq;

答案 2 :(得分:8)

您也可以在没有.toList的情况下执行此操作,无需任何实际原因即可保存包含整个库。

新列表(数组)

答案 3 :(得分:7)

如果有人在谷歌搜索后偶然发现了这个问题...

我在 Razor视图中遇到了完全相同的问题,并且在顶部添加#include <iostream> #include <functional> class A { public: void f(int a) {} void f(int a, int b) { std::cout << a + b << '\n';} }; void someFunction(const std::function<void(int, int)>& f) { f(1, 2); } int main() { A a; someFunction([&] (int x, int y) { a.f(x, y); }); return 0; } 没有帮助。

在使用Linq扩展方法之前,有什么帮助调用了<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background dispatching on non-Google Play devices --> <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver" android:enabled="true"> <intent-filter> <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" /> </intent-filter> </receiver> <service android:name="com.google.android.gms.analytics.AnalyticsService" android:enabled="true" android:exported="false"> </service> <!-- Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable installation campaign reporting --> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> <service android:name="com.google.android.gms.analytics.CampaignTrackingService" />

using System.Linq

答案 4 :(得分:6)

这只是因为ArrayList没有公开名为ToList的方法。

有关您可以使用的成员的表格视图,请参阅this MSDN page

正如其他人所解释的那样,您可以通过导入Linq库来访问此扩展方法:

using System.Linq;

此外,see this link用于自定义实现,如果您希望实现一个。

答案 5 :(得分:3)

这是因为Enumerable扩展方法不可用。

您需要添加“using System.Linq”

答案 6 :(得分:0)

这对我有用:

 var lst = ((IEnumerable<XElement>)doc.Element("cards").Elements("card")).ToList();

我的最初结果仅仅是动态的。 .Cast()方法给我的错误与ToList()相同,但这确实可以解决问题。