2014-06-28 35 views
-2

我正在编写一个sudoko程序,我希望用户编辑数组中的某些值,但不是已经存在的值。我如何初始化数组?让用户编辑一些值,但不是全部

+0

定义“已经在那里” – Matthijs

+1

class:value:integer state =(enabled or desabled) – gasroot

+1

您今天已经打开了类似的问题,不是吗? – m1o2

回答

0

您可以通过多种解决方案解决您的问题,所有这些解决方案都以相同的原则进行中继 - >让您的号码与布尔值相结合。

你可以用一个类写下:

public class SudokuCell 
{ 
    public bool IsEditable { get; set; } 
    private int _value; 
    public int Value 
    { 
     get { return _value; } 
     set { if (IsEditable) _value = value; } 
} 

还是结构:

public struct SudokuCell 
{ 
    public bool IsEditable; 
    public int Value; 
} 

,并有ListSudokuCellArray是你们等可以作为你的数据结构使用或者你可以使用更懒的方法并使用Tuple

List<Tuple<int, bool>> sudokuCells = new List<Tuple<int,bool>>(); 

然后,每当你想改变的价值,你可以检查它的相应bool和你即刻知道你是否能够或不能改变它(假设你把它当你初始化你的数独)

+0

谢谢@Tzah妈妈,这真的很有帮助。 – Monitor

2

克服自己的问题,最简单的方法是使用2个多维数组,第一个保存价值,第二个检查是否某些细胞可以由用户进行编辑或不..

int[,] ValueArray= new int[4,4]; 
boolean[,] EditedArray= new boolean[4,4]; 
+0

感谢您的评论,将尝试一下 – Monitor

0

你的数独用户编辑你的用户界面,而不是你的数组。当关联数据应该是只读的时,使UI元素为只读。

相关问题