gpt4 book ai didi

c# - 哪个声明更好?

转载 作者:太空宇宙 更新时间:2023-11-03 17:07:35 24 4
gpt4 key购买 nike

我将改变我在编程中的 C# 风格(我一直在对变量、方法 - 一切使用“public static”)。

我的问题:

public class WinSock
{
public Socket sock;
public byte[] data;
.....
}

var data = new byte[2058];
data = WinSock.data;

或者这个:

private class WinSock
{
private Socket sock;
private byte[] data;
.....
public byte[] getdata()
{
get {return data;}
}
}

WinSock ws = new WinSock();
var data = new byte[2058];
data = ws.getdata();

在这两种情况下,数据和 socks 变量都可以从其他类访问。​​

这两个声明哪个更好?

最佳答案

通常,公开字段绝不是一个好主意。

因为getdata是一个属性,所以应该叫Data。

private class WinSock
{
private Socket sock;
private byte[] data;
.....
public byte[] Data
{
get { return data; }
}
}

由公共(public)属性和方法组成的公共(public)接口(interface)应确保状态(字段)永远不会不一致。该类负责字段。它不应该允许任何人直接写入它。这就是封装。

关于c# - 哪个声明更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/797897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com