在我看来,如何访问数组对象中的字符串数组?如何从构造函数访问参数?
In my main, how to access string array in an array object? How to access parameter from constructor?
附上UML。我想创建一个 pre 的只读 属性,它是一个字符串数组。当我在 main 中创建一个对象并尝试设置 name 和 pre 时,它向我显示错误。
UML
using System;
class Unit
{
private string _name;
private string[] _pre;
public Unit(string name, string[] pre)
{
_name = name;
_pre = new string[2];
}
public string Name { get { return _name; } }
public string[] Pre { get { return _pre; } }
}
class Program
{
public static void DisplayInfo(Unit[] _u)
{
for (int i = 0; i < 2; i++)
{
Console.WriteLine(_u[i].Name + _u[i].Pre);
}
}
static void Main(string[] args)
{
Unit[] unitarraytest = new Unit[2];
unitarraytest[0] = new Unit("test 1", "test 3");
unitarraytest[1] = new Unit("test 2", "test 4");
DisplayInfo(unitarraytest);
}
}
你的例子毫无意义。您的 Unit 构造函数为“Pre”获取一个参数,但立即将其丢弃并分配一个新的空字符串数组。大概应该写成
class Unit
{
public Unit(string name, string[] pre)
{
Name = name;
Pre = pre;
}
public string Name { get;}
public string[] Pre { get;}
}
创建 Unit 对象时,您实际上需要为“Pre”参数创建一个数组。喜欢new Unit("Name", new []{"pre1", "pre2"});
并且在输出字符串时,您需要访问数组中的各个字符串,或者将它们组合成一个更大的字符串,例如 Console.WriteLine(_u[i].Name + string.Join(" , ", _u[i].Pre));
附上UML。我想创建一个 pre 的只读 属性,它是一个字符串数组。当我在 main 中创建一个对象并尝试设置 name 和 pre 时,它向我显示错误。
UML
using System;
class Unit
{
private string _name;
private string[] _pre;
public Unit(string name, string[] pre)
{
_name = name;
_pre = new string[2];
}
public string Name { get { return _name; } }
public string[] Pre { get { return _pre; } }
}
class Program
{
public static void DisplayInfo(Unit[] _u)
{
for (int i = 0; i < 2; i++)
{
Console.WriteLine(_u[i].Name + _u[i].Pre);
}
}
static void Main(string[] args)
{
Unit[] unitarraytest = new Unit[2];
unitarraytest[0] = new Unit("test 1", "test 3");
unitarraytest[1] = new Unit("test 2", "test 4");
DisplayInfo(unitarraytest);
}
}
你的例子毫无意义。您的 Unit 构造函数为“Pre”获取一个参数,但立即将其丢弃并分配一个新的空字符串数组。大概应该写成
class Unit
{
public Unit(string name, string[] pre)
{
Name = name;
Pre = pre;
}
public string Name { get;}
public string[] Pre { get;}
}
创建 Unit 对象时,您实际上需要为“Pre”参数创建一个数组。喜欢new Unit("Name", new []{"pre1", "pre2"});
并且在输出字符串时,您需要访问数组中的各个字符串,或者将它们组合成一个更大的字符串,例如 Console.WriteLine(_u[i].Name + string.Join(" , ", _u[i].Pre));