-1

我用 C# 写了一个非常简单的代码,却遇到了一个荒谬的问题!

我有一个类名顺序,并且声明了一个字段,例如:

private int[] pizzano = new int[8];
public void setPizzaNo(int[] pno)
{
    pizzano = pno;
}
public int[] getPizzano()
{
    return pizzano;
}

我得到一个对象并将其设置在另一个类中,如下所示:

order order = new order();
order.setPizzaNo(pizzano);

pizzano是一个整数数组,我为其分配了不同的值,但是当我使用该get方法时,它只返回零值。我疯了,无法理解我的问题是什么!

4

6 回答 6

4

getter/setter 是用 c# 语言实现的。

private int[] m_iArrPizzano = new int[];

您可以通过执行以下操作来封装它:

public int[] Pizzano { 
   get { 
      return m_iArrPizzano;
   }
   set {
      m_iArrPizzano = value;
   }
}

但是,当您不想检查错误的集合时,您可以使用小版本而不声明私有字段。

public int[] Pizzano { get; set; }

将在构建时自动生成上述内容。

访问它obj.Pizzano = new int[1] { 0 };

于 2013-09-17T07:56:35.323 回答
1

对我来说工作得很好:-

public class order
{
    private int[] pizzano = new int[8];
    public void setPizzaNo(int[] pno)
    {
        pizzano = pno;
    }
    public int[] getPizzano()
    {
        return pizzano;
    }
}

class Program
{
    static void Main(string[] args)
    {
        int[] pizzano = { 0, 1, 2, 3, 4, 5, 6, 7 };
        order order = new order();
        order.setPizzaNo(pizzano);

        foreach (var item in order.getPizzano())
        {
            Console.WriteLine(item);
        }
    }
}
于 2013-09-17T08:03:29.670 回答
0
private int[] pizzano;
public void setPizzaNo(int[] pno)
{
    pizzano = pno;
}
public int[] getPizzano()
{
    return pizzano;
}
public static void Main(String[] args)
{
    Order order = new Order();
    int[] pizzano = {1,2,3,4,5};
    int[] test;
    order.setPizzaNo(pizzano};
    test = order.getPizzano();
    for(int i=0; i<test.Length; i++)
    {

        Console.WriteLine(test[i]);
    }
于 2013-09-17T08:00:24.903 回答
0

正如其他人所写,您的代码不像 C#,但您的问题不是由此引起的。

因为您没有提供任何客户端代码,所以我只能假设它取决于您在客户端代码中在setget之间所做的其他一些分配。

试着检查一下。

于 2013-09-17T08:22:00.390 回答
-1

嘿检查以下代码并尝试:

    int[] pizzano = {1,2,3,4,5,6};
    Order order = new Order();
    order.setPizzaNo(pizzano);
    int[] getvalues = order.getPizzano(); 
    System.out.println(getvalues[1]);
于 2013-09-17T07:56:10.473 回答
-1

比萨诺是私有的,你不能用简单的方法返回一个私有成员。

您需要使用 get 和 set

private int[] pizzano;
    public int[] PizzaNo 
    {
        get { return (pizzano); }
        set { pizzano = value; }
    }
于 2013-09-17T07:58:03.497 回答