相关疑难解决方法(0)

你在C#或.NET中看到的最奇怪的角落是什么?

我收集了一些角落案例和脑筋急转弯,并且总是希望听到更多.该页面仅涵盖C#语言位和bobs,但我也发现核心.NET的东西也很有趣.例如,这是一个不在页面上,但我觉得不可思议的:

string x = new string(new char[0]);
string y = new string(new char[0]);
Console.WriteLine(object.ReferenceEquals(x, y));
Run Code Online (Sandbox Code Playgroud)

我希望打印False - 毕竟,"new"(带引用类型)总是会创建一个新对象,不是吗?C#和CLI的规范都表明它应该.好吧,不是在这种特殊情况下.它打印True,并在我测试过的每个版本的框架上完成.(我没有在Mono上尝试过,诚然......)

需要明确的是,这只是我正在寻找的那种事情的一个例子 - 我并不是特别想要讨论这种奇怪的事情.(它与正常的字符串实习不同;特别是,当调用构造函数时,通常不会发生字符串实习.)我真的要求类似的奇怪行为.

还有其他宝石潜伏在那里吗?

.net c#

322
推荐指数
27
解决办法
12万
查看次数

C#构造函数链接?(怎么做?)

我知道这应该是一个非常简单的问题,但我一直在努力解决这个概念.我的问题是,你如何在c#中链接构造函数?我是第一个OOP课程,所以我只是在学习.我不明白构造函数链如何工作或如何实现它,甚至为什么它不仅仅是没有链接的构造函数.

我会很感激一些解释的例子.

那么如何将它们联系起来呢?我知道有两个:

public SomeClass this: {0}

public SomeClass
{
    someVariable = 0
} 
Run Code Online (Sandbox Code Playgroud)

但你如何用三,四等做到这一点?

再一次,我知道这是一个初学者的问题,但我很难理解这一点,我不知道为什么.

c# constructor constructor-chaining

210
推荐指数
7
解决办法
13万
查看次数

C#何时使用"此"关键字

可能重复:
您何时使用"this"关键字?

您好,我知道该This关键字用于引用该类的实例,但是,假设我有一个名为的类Life,它定义了两个字段,person(他们的名字)和他们的伙伴(他们的名字):

class Life
{
    //Fields
    private string _person;
    private string _partner;

    //Properties
    public string Person
    {
        get { return _person; }
        set { _person = value; }
    }

    public string Partner
    {
        get { return _partner; }
        set { _partner = value; }
    }

    //Constructor 1
    public Life()
    {
        _person = "Dave";
        _partner = "Sarah";

        MessageBox.Show("Life Constructor Called");
    }

    //Constructor 2
    public Life()
    {
        this._person = "Dave";
        this._partner = "Sarah"; …
Run Code Online (Sandbox Code Playgroud)

c# constructor this

25
推荐指数
3
解决办法
4万
查看次数

这真的是简化吗?

所以我有一个非常简单的带有Id字段的类,Id可以在构造函数中设置.

通常,我将使用它this来清楚地标识类属性而不是方法参数.对我来说,这似乎更清晰.

IDE0003要我删除this"姓名可以简化"的消息,这是正确的吗?

这对我来说似乎不太清楚,并且还容易导致套管错误id = id.

在此输入图像描述

c# visual-studio-2015

22
推荐指数
3
解决办法
7511
查看次数

构造函数中"this"关键字的功能是什么?

我刚刚看到来自MSDN的示例代码并且来了:

namespace IListSourceCS
{
    public class Employee : BusinessObjectBase
    {
        private string      _id;
        private string      _name;
        private Decimal     parkingId;

        public Employee() : this(string.Empty, 0) {} // <<--- WHAT IS THIS???
        public Employee(string name) : this(name, 0) {}
Run Code Online (Sandbox Code Playgroud)

.net c# constructor

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

何时不使用'this'关键字?

很抱歉再次询问,已经有一些关于此关键字的问题.但他们所有人都说出了"这个"的目的.

什么时候使用这个关键字
C#何时使用此关键字
在C#中使用静态方法的形式参数中的"this"关键字在C#中
正确使用"this."关键字?

我的问题是何时不使用'this'关键字.
或者
在代码之类的情况下始终使用此关键字是否正确

class RssReader
{
    private XmlTextReader _rssReader;
    private XmlDocument _rssDoc;
    private XmlNodeList _xn;

    protected XmlNodeList Item { get { return _xn; } }
    public int Count { get { return _count; } }

    public bool FetchFeed(String url)
    {
        this._rssReader = new XmlTextReader(url);
        this._rssDoc = new XmlDocument();
        _rssDoc.Load(_rssReader);
        _xn = _rssDoc.SelectNodes("/rss/channel/item");
        _count = _xn.Count;
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

这里我没有使用'this'和"_xn"和"_count"也没有使用"_rssDoc.Load(_rssReader);" 好吗?我应该在类中使用"this"以及所有类变量吗?

编辑:在类中为自己的变量使用'this' 是没用的吗?

c# this this-keyword

12
推荐指数
4
解决办法
6531
查看次数

在C#中使用或不使用'this'限定符

可能重复:
您何时使用"this"关键字?

我刚刚开始使用Resharper来分析我的代码,它有很多建议我做的事情,我对它的输出非常满意,因为它也教会了我一些更好的做法.

显然,它的建议可以被忽略,其中一个我想从社区获得一些反馈!

我总是倾向于将'this'限定符用于属于当前类的属性(即this.Name).没有真正的理由 - 我似乎只是采用了这么多个月.

Resharper建议这是多余的,也许我应该删除它.

你怎么看?

.net c# resharper this

11
推荐指数
5
解决办法
8578
查看次数

当访问C#中的成员时,`this`关键字是否可选?

我注意到如果你在一个类中有一个私有成员,你可以通过引用它的名称在类方法中访问它.你不需要说this.memberName,只是memberName工作.那么在成员访问的上下文中this关键字是可选的吗?

当你想澄清范围时,我确实看到它很有用 - 当你有两个同名的变量时.访问会员时是否还有其他理由使用它?

.net c# this member

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

在C#中,是否需要"this"关键字?

在以下构造函数中,是否需要'this'关键字?我知道我可以删除它,它符合,一切都很好.如果我省略'this'那将导致我的问题在路上?是否认为"这个"被认为是不好的做法?

    // Constructor:
    public Employee(string name, string alias)
    {
        // Use this to qualify the fields, name and alias:
        this.name = name;
        this.alias = alias;
    }
Run Code Online (Sandbox Code Playgroud)

c#

6
推荐指数
3
解决办法
2996
查看次数

这个参考?

可能重复:
您何时使用"this"关键字?

任何人都可以向我解释"这个"参考吗?我们用这个的时候?举个简单的例子.

c# this

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