相关疑难解决方法(0)

什么时候用'this'(C#)作为前置成员的好规则?

如果我正在访问成员字段,属性或方法,我将永远不确定何时应该使用'this'作为前缀.

我不是在询问需要它的情况,例如局部变量具有相同名称的情况.我说的是意义完全相同的情况.哪个更具可读性?我应该遵循哪些标准,最佳实践或经验法则?它应该在整个班级或整个代码库中保持一致吗?

c# coding-style

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

C#自动实现的属性和局部变量的最佳实践,仅根据具体情况而有所不同?

让我给你举个例子:

public class MyClass
{
    public string MyProperty { get; set; }

    public MyClass(string myProperty)
    {
        MyProperty = myProperty; // bad?
        this.MyProperty = myProperty; // good?
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经开始this在这种情况下使用,因为我有轻微的偏执,单独依赖案例可能会令人困惑,或者更糟糕的可能实际上会导致错误.

这里的"最佳实践"是什么?

编辑:

到目前为止,听起来这比我想象的要主观得多.我认为人们会在一方或另一方强烈下来.

c# case-sensitive

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

我在属性设置器中进入无限循环

public int Position
{
    get
    {
        if (Session["Position"] != null)
        {
            Position = Convert.ToInt32(Session["Position"]);
        }
        else
        {
            Position = 5;
        }
        return Position;
    }
    set
    {
        Position = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的程序调用get并进入if循环,然后无限运行到set代码中

c# asp.net setter properties

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

C#"这个"过度使用?

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

我正在写一些我的第一个C#代码,我注意到this.foo只有当本地名称foo不同时才需要this.foo.到目前为止,我对是否使用不一致this.

是否优先使用this或者仅this在必要时使用?

c# class this

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

正确使用"这个".C#中的关键字?

我正在阅读Head First C#这本书(到目前为止它一直很顺利),但是我在使用"this"时所涉及的语法方面遇到了很多麻烦.关键词.

从概念上讲,我认为我应该使用它来避免参数掩码具有相同名称的字段,但是我通过他们的示例实际跟踪它时遇到了麻烦(同样,他们似乎没有专门的部分对于那个特定的关键字,他们只是解释它并开始在他们的例子中使用它).

在应用"this"时,有没有人有任何好的经验法则?或者任何在线教程以与Head First C#不同的方式解释它?

谢谢!

parameters constructor field this keyword

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

何时使用this.method()?

可能重复:
为什么StyleCop建议使用"this"作为前缀方法或属性调用?
你什么时候使用"this"关键字?

大家好,星期五我有一个关于this.method();的使用的问题.我的代码似乎可以在不使用它的情况下工作.但是我包含它因为它似乎是正确的事情.应该什么时候使用它,并且因为它的存在并不总是有所作为,这对于.this的最佳实践是什么?

c# methods this

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

我应该默认使用`this`吗?

我们都知道这this是指一个类的实际实例......但在我看来,大多数人并没有使用它.那么,我应该使用它吗?

我对它的看法如下:由于this引用了类的实际实例,它应该用于访问该类的任何成员.

  public void(String newValue) {
        this.privateVariable = newValue;
  }
Run Code Online (Sandbox Code Playgroud)

这应该保证该值不会分配给范围内具有相同名称的对象(无论如何,这也可能最终成为未定义的行为).但是,如果使用下划线将私有字段与非私有字段分开,该怎么办:

  public voud(String newValue) {
        _privateVariable = newValue;
  }
Run Code Online (Sandbox Code Playgroud)

this 在这种情况下似乎有点多余和不必要.

那么,是否有充分的理由使用或不使用this?或者我只是绞尽脑汁想要什么?

c# coding-style

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