C# 面向对象
我有以下代码:C# 面向对象,c#,class,C#,Class,我有以下代码: public class Game { public Game(int board) { } public List<int> play(List<int> lines) { return lines; } } 有没有一种方法可以在“play”方法中检索(并使用)这个参数,而不在这两个方法之外声明任何其他变量,或
public class Game
{
public Game(int board)
{
}
public List<int> play(List<int> lines)
{
return lines;
}
}
有没有一种方法可以在“play”方法中检索(并使用)这个参数,而不在这两个方法之外声明任何其他变量,或者也不定义任何其他方法
任何帮助都将不胜感激。谢谢。您可以定义
专用int板代码>int类型的成员,并将线路板的值分配给它。然后您可以在play方法中访问它。您可以定义一个专用int板代码>int类型的成员,并将线路板的值分配给它。然后您可以在play方法中访问它。公共类游戏{
public class Game {
private int Board;
public Game(int board) {
Board = board;
}
public List<int> play(List<int> lines)
{
//used board here
return lines;
}
}
私人董事会;
公共游戏(智力板){
董事会=董事会;
}
公共列表播放(列表行)
{
//这里用过木板
回流线;
}
}
只需创建一个变量Board
,该变量可通过play方法访问公共类游戏{
私人董事会;
公共游戏(智力板){
董事会=董事会;
}
公共列表播放(列表行)
{
//这里用过木板
回流线;
}
}
只需创建一个变量Board
,该变量可以通过play方法访问将Board
声明为类中的成员,以便所有函数都可以访问它。也许是这样的:
public class Game
{
private int board;
// Constructor for game. Initializes a new board
public Game(int board)
{
this.board = board
}
public List<int> play(List<int> lines)
{
// Access board
return lines;
}
}
公共类游戏
{
私人董事会;
//游戏的构造函数。初始化一个新的棋盘
公共游戏(智力板)
{
这个板
}
公共列表播放(列表行)
{
//通道板
回流线;
}
}
将板
声明为类中的成员,以便所有函数都可以访问它。也许是这样的:
public class Game
{
private int board;
// Constructor for game. Initializes a new board
public Game(int board)
{
this.board = board
}
public List<int> play(List<int> lines)
{
// Access board
return lines;
}
}
公共类游戏
{
私人董事会;
//游戏的构造函数。初始化一个新的棋盘
公共游戏(智力板)
{
这个板
}
公共列表播放(列表行)
{
//通道板
回流线;
}
}
您需要将其存储在类成员变量中,如
public class Game
{
private int board;
public Game(int board)
{
this.board = board;
}
public List<int> play(List<int> lines)
{
return lines[board];
}
}
公共类游戏
{
私人董事会;
公共游戏(智力板)
{
this.board=董事会;
}
公共列表播放(列表行)
{
返回线路[板];
}
}
您需要将其存储在类成员变量中,如
public class Game
{
private int board;
public Game(int board)
{
this.board = board;
}
public List<int> play(List<int> lines)
{
return lines[board];
}
}
公共类游戏
{
私人董事会;
公共游戏(智力板)
{
this.board=董事会;
}
公共列表播放(列表行)
{
返回线路[板];
}
}
公共类游戏{
私人国际委员会;
公共游戏(智力板){
_董事会=董事会;
}
公共列表播放(列表行)
{
//在这里使用黑板,例如:这个。。。
回流线;
}
}
公共类游戏{
私人国际委员会;
公共游戏(智力板){
_董事会=董事会;
}
公共列表播放(列表行)
{
//在这里使用黑板,例如:这个。。。
回流线;
}
}
定义一个函数来保存通过构造函数传递的值。然后在您的播放方法中访问此字段:
public class Game {
private readonly int _Board;
public Game(int board) {
_Board = board;
}
public List<int> play(List<int> lines)
{
//access field here
var board = _Board;
return lines;
}
}
公共类游戏{
专用只读int_板;
公共游戏(智力板){
_董事会=董事会;
}
公共列表播放(列表行)
{
//这里是访问字段
var板=_板;
回流线;
}
}
定义一个函数来保存通过构造函数传递的值。然后在您的播放方法中访问此字段:
public class Game {
private readonly int _Board;
public Game(int board) {
_Board = board;
}
public List<int> play(List<int> lines)
{
//access field here
var board = _Board;
return lines;
}
}
公共类游戏{
专用只读int_板;
公共游戏(智力板){
_董事会=董事会;
}
公共列表播放(列表行)
{
//这里是访问字段
var板=_板;
回流线;
}
}
我建议声明属性并使用构造函数链接:
我建议声明属性并使用构造函数链接:
将其作为第二个参数传递给play方法,而不是传递给构造函数,因为您在构造函数中不使用它
public class Game
{
public Game() {}
public List<int> play(List<int> lines, int board)
{
// do whatever you want to do with board here
return lines;
}
}
公共类游戏
{
公共游戏(){}
公共列表播放(列表行、int板)
{
//你想怎么做就怎么做
回流线;
}
}
将其作为第二个参数传递给play方法,而不是传递给构造函数,因为您在构造函数中不使用它
public class Game
{
public Game() {}
public List<int> play(List<int> lines, int board)
{
// do whatever you want to do with board here
return lines;
}
}
公共类游戏
{
公共游戏(){}
公共列表播放(列表行、int板)
{
//你想怎么做就怎么做
回流线;
}
}
我相信答案的数量是由于您没有在问题“where”中澄清您想使用参数的值
如大多数人所怀疑的,如果您只想在类中使用它(比如说该类的任何方法),那么一个字段就足够了,您可以使用前面给出的任何答案。虽然我暗自喜欢@jon Lopez garcia的一款,只是因为它符合我的风格,并且没有额外的假设
另一方面,如果您需要从类的方法外部访问该值,那么属性是正确的方法。检查@dmitry bychenko的答案,答案非常完整,尽管做出了一些您没有提到的假设
然而,如果你想从外部访问它,那么你还必须考虑你是否想从外部更改它,因为在@dmitry bychenko的回答中,没有从外部更改(注意“private set;”)
在这里,我要做的就是不简短,因为没有上下文:
public class Game
{
public int Board { get; private set; }
public Game(int board)
{
Board = board;
}
public List<int> play(List<int> lines)
{
//use Board here
return lines;
}
}
公共类游戏
{
公共int板{get;private set;}
公共游戏(智力板)
{
董事会=董事会;
}
公共列表播放(列表行)
{
//在这里用黑板
回流线;
}
}
这些可能是本主题的好读物:
- 了解有关属性的信息:
- 了解字段:
- 了解访问修饰符:
我相信答案的数量是由于您没有澄清