小编Fre*_*ood的帖子

DefaultIfEmpty不起作用

在DefaultIfEmpty查询后,为什么数组仍为null?

class Program
{
    static void Main(string[] args)
    {
        Program[] array = new Program[5];
        Program[] query = array.DefaultIfEmpty(new Program()).ToArray();
        foreach (var item in query)
        {
            Console.WriteLine(item.ToString());
        }
        Console.ReadKey();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# linq arrays defaultifempty

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

"注入"属性不适用于字段

Inject属性不适用于字段.

[Inject]
public MyContext context; //Not injected

[Inject]
public MyContext context {get; set;} //Injected
Run Code Online (Sandbox Code Playgroud)

我正在使用默认的Ninject设置.为什么不注入田地?

.net c# ioc-container ninject-2

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

扩展方法如何在后台工作?

关于扩展方法机制的背后,我只是痴迷.有些问题和答案出现在我的脑海里.

MyClass.OrderBy(x=>x.a).OrderBy(x=>x.b);
Run Code Online (Sandbox Code Playgroud)

我猜测机制是第一个orderby方法工作,并由一个成员命令然后返回IEnumarable接口中的排序项然后下一个IEnumarable的Orderby方法为b paramater命令它们.但是当我看这个linq查询时我错了.

MyClass.Orderby(x=>x.a).ThenOrderBy(x=>x.b);
Run Code Online (Sandbox Code Playgroud)

这是略有不同,并告诉我,我错了.因为这不是由当时的b订购,如果我是对的,也不可能有这样的结果.这让我感到困惑......

类似的结构可以用扩展方法编写作为第一个查询,但第二个是不可能的.这证明我错了.你可以解释一下吗?

.net c# linq extension-methods

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

如何将另一个结构隐式转换为我的类型?

事实上MyClass x = 120;,是否可以创建这样的自定义类?如果是这样,我该怎么做?

.net c# implicit variable-assignment

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

我们的自定义类的数组如何与foreach一起使用而不实现IEnumerable?

这个长标题已经包含了我的所有问题所以我只想举例说明

MyClass[] array
Run Code Online (Sandbox Code Playgroud)

如果没有实现IEnumerable接口的方法,这个数组如何与Foreach一起工作?

.net c# ienumerable foreach

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

需要 XML 命名空间吗?

我正在学习 xml 和 xml 处理。我无法很好地理解命名空间的存在。

我了解到命名空间帮助我们在 xml 中分离同名元素。我们不能通过具有相同名称的属性来区分元素吗?为什么命名空间很重要或需要?

我想举个例子:

<persons>
  <person></person>
  <s:person xmlns:s="student"></s:person>
  <person type="student"></person>
</persons>
Run Code Online (Sandbox Code Playgroud)

第一人称是普通元素。第二人称使用命名空间,第三人称使用类型属性。我们不能用第三个代替第二个吗?

xml namespaces

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

为何以及何时使用事件?

在我的个人项目中,我从未使用过Events.I从未感觉到它是必要的.特别是使用事件会产生一些关于限制具有相同参数的方法的问题,这就是我没有使用它的原因.使用它的好处是什么?什么时候和我们需要的地方?

编辑:对于封闭源库,使用事件更多?因为我们无法将任何方法附加到现有的闭源方法中,所以Events会帮助我们解决这个问题吗?因为在开源中,我们可以轻松地将我们的方法添加到方法的末尾.

.net c# events

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

不支持 AppendChild 和 Specified 方法异常

下面的代码给出了这个错误消息“不支持指定的方法”。但这里的样本与我的相同。

        FileInfo file = new FileInfo("../../file.xml");
        XDocument xfile = XDocument.Load(file.FullName);
        XPathNavigator nav = xfile.CreateNavigator();

        nav.AppendChild("<pages>100</pages>");
Run Code Online (Sandbox Code Playgroud)

.net xml linq-to-xml

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

使用'[]'表示法访问javascript对象成员而不是点符号的原因是什么?

可能重复:
JavaScript属性访问:点符号与括号?

我现在正在阅读一些开源的javascript项目代码,我发现他们有时会访问对象属性,person.name但有时他们会访问person['name'].

对我来说,点符号与其他符号相当清楚.点符号很容易写和读,但在源代码中我看到它们有时使用点符号有时[]括号符号,我试图理解它的原因是什么.

可能是什么原因?

javascript

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

替换以特定字符开头并以正则表达式中的特定字符结尾的字符串

我想替换以特定字符开头并以特定字符结尾的字符串部分.在下面,我演示了测试用例.

var reg = /pattern/gi;

var str = "asdfkadsf[xxxxx]bb";

var test = str.replace(reg,"") == "asdfkadsfbb"

console.log(test);
Run Code Online (Sandbox Code Playgroud)

javascript regex

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