How to use LINQ in Mono?

不想你离开。 提交于 2019-12-03 02:34:52

问题


I can't make System.Linq (aka LINQ to Objects) work. I am running MonoDevelop 2.2.1 in Ubuntu 10 Lucid Lynx with Mono 2.4.4.

They advertise in their site that they implemented LINQ, but I can't even find Enumerable.Range or ToArray(). What's wrong?


回答1:


I guess what you would need to do is:

  1. In your project options set "Runtime version" to "Mono/.Net 3.5"
  2. Add reference to System.Core package (right click references in solution explorer)
  3. Add "using System.Linq" to your module

after that your code should compile and execute

hope this helps, regards




回答2:


Are you using the gmcs compiler? mcs does not seem to compile code containing Linq.

$ cat a.cs
using System;
using System.Linq;

class Test
{
    static void Main()
    {
        foreach (var i in new int[] { 1, 2, 3, 4, 5}.Where(n => n % 2 == 0))
        {
            Console.WriteLine(i);
        }
    }
}
$ gmcs a.cs
$ ./a.exe
2
4

To compile with gmcs, perform the following instructions as described by the MonoDevelop FAQ:

Can I compile my project with gmcs?

Yes. Right click on your project, select 'Options'->'Runtime' and select '2.0' from the drop-down list.




回答3:


What do you mean when you say "can't find"? Intellisense? Many of the linq methods are extension methods, and monodevelop may not support those in intellisense. In which case you can still use them and your code should compile, it just isn't in the drop-downs.

About extension methods



来源:https://stackoverflow.com/questions/2718276/how-to-use-linq-in-mono

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!