相关疑难解决方法(0)

字段和属性之间有什么区别?

在C#中,是什么使字段与属性不同,何时应该使用字段而不是属性?

c# field properties

1032
推荐指数
17
解决办法
42万
查看次数

C#3.0自动属性 ​​- 有用与否?

注意:这是在我开始使用C#时发布的.凭借2014年的知识,我可以真正地说,自动属性是C#语言中发生过的最好的事情.

我习惯使用私有和公共字段在C#中创建我的属性:

private string title;
public string Title
{
    get { return title;  }
    set { title = value;  }
}
Run Code Online (Sandbox Code Playgroud)

现在,使用.NET 3.0,我们获得了自动属性:

public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)

我知道这更像是一个哲学/主观问题,但除了为每个字段保存五行代码之外,是否有任何理由使用这些自动属性?我个人的抱怨是那些属性隐藏了我的东西,我不是黑魔法的忠实粉丝.

事实上,隐藏的私有字段甚至没有显示在调试器中,这是好的,因为get/set函数什么都不做.但是当我想实际实现一些getter/setter逻辑时,我必须使用私有/公共对.

我看到了我节省大量代码(一对六行)而不会失去以后更改getter/setter逻辑的能力的好处,但是我再次通过简单地声明一个公共字段"Public string Title"就可以做到这一点需要{get; 组; 阻止,因此甚至可以节省更多代码.

那么,我在这里错过了什么?为什么有人真的想要使用自动属性?

.net c# automatic-properties

152
推荐指数
10
解决办法
4万
查看次数

C#3.0+中属性和字段的区别

我意识到它似乎是C#中字段和属性之间有什么区别的重复但我的问题略有不同(从我的观点来看):

一旦我知道了

  • 我不会将我的课程用于"仅适用于属性的技术"和
  • 我不会在getter/setter中使用验证代码.

是否有任何区别(风格/未来发展除外),如设置属性时的某种控制类型?

是否有任何额外的区别:

public string MyString { get; set; }
Run Code Online (Sandbox Code Playgroud)

public string myString;
Run Code Online (Sandbox Code Playgroud)

(我知道,第一个版本需要C#3.0或更高版本,并且编译器会创建私有字段.)

c# field properties automatic-properties c#-3.0

138
推荐指数
6
解决办法
7万
查看次数

为什么没有人接受C#中的公共字段?

似乎每个C#静态分析器在看到公共字段时都想抱怨.但为什么?当然,有些情况下公共(或内部)领域就足够了,拥有它get_set_方法的财产是没有意义的吗?如果我确定我不会重新定义该字段或添加它(副作用是坏的,对吧?) - 不应该是一个简单的字段就足够了怎么办?

c# field properties public

30
推荐指数
4
解决办法
6619
查看次数

C#3.0中自动属性和公共字段之间的区别

我无法理解为什么C#3.0中存在自动实现的属性语言功能.

你说的时候有什么不同

public string FirstName;
Run Code Online (Sandbox Code Playgroud)

public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud)

c# c#-3.0

17
推荐指数
3
解决办法
5854
查看次数

将私有成员封装为属性和定义没有私有成员的属性之间的区别是什么?

封装像这样的私有成员之间有什么区别(性能,内存等)

private int age;
public int Age
{
  get { return age; }
  set { age = value; }
}
Run Code Online (Sandbox Code Playgroud)

并定义这样的属性

public int Age
{
  get ;
  set ;
}
Run Code Online (Sandbox Code Playgroud)

c# memory performance properties

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

C#3.0中使用Property {get,set}方法的用途是什么

可能重复:
C#自动属性

您好,
我最近从Java迁移到.net(c#)平台.在这里,我还没有遇到太多问题......无论如何我搞砸了

                   property{get, set}
方法.实际上我根本无法弄清楚这些(属性)的确切含义.初始化变量或字段或对象状态的相同工作可以使用方法完成.我们可以将字段声明为私有,并可以使用相同类的公共方法访问它们.

           一个简单的事情我不是程序员或员工,而是计算机科学的普通学生,旨在成为一名全职职业的程序员.

- 非常感谢你们所有人提前协助我.

财产{get,set}

c# methods get properties set

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

在C#中如何使用和实现Get和Set方法

我是一名有抱负的学生,未来的目标是追求计算机科学的职业.我已经阅读了相当多的文档,我理解OOP的基本原理,但我想知道如何{Get ; Set;}在c#中使用这些方法.提前致谢.

例如

public class Car
{
    public Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# oop methods get set

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

标签 统计

c# ×8

properties ×5

field ×3

automatic-properties ×2

c#-3.0 ×2

get ×2

methods ×2

set ×2

.net ×1

memory ×1

oop ×1

performance ×1

public ×1