小编nin*_*hog的帖子

Linq To Objects - 在连接的引擎盖下

我想知道这两个linq语句之间有什么区别?

什么更快?

它们是一样的吗?

这个陈述有什么区别

from c in categories
from p in products
where c.cid == p.pid
select new { c.cname, p.pname };
Run Code Online (Sandbox Code Playgroud)

这句话?

from c in categories
join p in products on c.cid equals p.pid
select new { c.cname, p.pname };
Run Code Online (Sandbox Code Playgroud)

先谢谢你们.

编辑:在LINQ to Objects的上下文中

c# linq

12
推荐指数
1
解决办法
286
查看次数

创建实现接口的匿名类

我想知道是否有一些内联短方法来创建实现接口的类。就像有匿名方法但有实现接口一样。

问题是:

interface iSomeInterface
{
  void DoIt();
}

public void myMethod(iSomeInterface param)
{
 ...
}
Run Code Online (Sandbox Code Playgroud)

我想这样使用它:

object.myMethod(new { override DoIt() { Console.WriteLine("yay"); } } : iSomeInterface);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

抱歉,以防重复。

c#

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

C#Cast The Uncastable

伙计们我想知道是否有可能做这样的事情:

class A
{
  prop T1

  prop T2

  prop T3

  prop T4
}

class B : A
{
  prop T5
}
Run Code Online (Sandbox Code Playgroud)

然后将A转换为B.

A a = new A();
B b = a;
Run Code Online (Sandbox Code Playgroud)

也许有一些类型的静态转换器类,所以代码可能看起来像这样.

A a = new A();
B b = null;
UltimativeCaster.BaseclassCast(a, b);
Run Code Online (Sandbox Code Playgroud)

如果这是一个重复的问题,我道歉.我希望你们能为我提供一些想法或解决方案或一些链接.

编辑:任何找到所有属性并复制过去的算法.由于它的基类属性将匹配.

c#

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

标签 统计

c# ×3

linq ×1