Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为字符串数组指定组件的长度_C#_Unity3d - Fatal编程技术网

C# 为字符串数组指定组件的长度

C# 为字符串数组指定组件的长度,c#,unity3d,C#,Unity3d,如何根据另一个数组的长度自动分配数组的长度并向其推送字符串?这样,在for循环中,当我复制字符串时,它将自动复制到所有数组字符串 public string[] ArrayOfStrings; public Image[] images; void Start() { for(int i = 0; i < images.Length; i++) { ArrayOfStrings[i] = "Testing String"; }

如何根据另一个数组的长度自动分配数组的长度并向其推送字符串?这样,在for循环中,当我复制字符串时,它将自动复制到所有数组字符串

public string[] ArrayOfStrings;
public Image[] images;

void Start()
{
    for(int i = 0; i < images.Length; i++)
    {
        ArrayOfStrings[i] = "Testing String";
    }
}
public string[]ArrayOfStrings;
公众形象[]形象;
void Start()
{
对于(int i=0;i
然后你可以做循环

for(int i = 0; i < ArrayOfStrings.Length; i++)
{
    ArrayOfStrings[i] = "Testing String";
}
然后你可以做循环

for(int i = 0; i < ArrayOfStrings.Length; i++)
{
    ArrayOfStrings[i] = "Testing String";
}

是的,我正打算去拿名单。为什么列表优于数组?列表可以很容易地扩展,因为在实例化时不必指定列表的长度。但这取决于你想做什么。数组可以有更好的性能,但若不在循环更新方法上进行大量计算的话。99%的时间使用列表是可以接受的。(只是我的意见)我喜欢使用linq进行列表操作,比如选择有条件的数据或转换数据等等;只有在需要可调整大小的集合时,才能使用
List
。行为是首要考虑因素,而不是性能。或者换句话说,使用最严格的类型来满足您的要求。@JohnathanBarclay:好的,您说得对。这就是为什么我写这只是我的观点。因为在集合的常用用法中,我经常需要可调整大小且易于操作的集合。我无法说明我的习惯,但你的评论是完美的。谢谢,是的,我正打算去拿名单。为什么列表优于数组?列表可以很容易地扩展,因为在实例化时不必指定列表的长度。但这取决于你想做什么。数组可以有更好的性能,但若不在循环更新方法上进行大量计算的话。99%的时间使用列表是可以接受的。(只是我的意见)我喜欢使用linq进行列表操作,比如选择有条件的数据或转换数据等等;只有在需要可调整大小的集合时,才能使用
List
。行为是首要考虑因素,而不是性能。或者换句话说,使用最严格的类型来满足您的要求。@JohnathanBarclay:好的,您说得对。这就是为什么我写这只是我的观点。因为在集合的常用用法中,我经常需要可调整大小且易于操作的集合。我无法说明我的习惯,但你的评论是完美的。感谢您的数组始终具有相同的值。您可以使用
OnValidate()
unity方法在编辑器时间执行此循环。在可能的情况下,在编辑器模式下进行计算是个好主意。在更改
OnValidation
方法后,不要忘记调用
UnityEditor.EditorUtility.SetDirty(this)
,强制序列化游戏对象。如果您的数组始终具有相同的值。您可以使用
OnValidate()
unity方法在编辑器时间执行此循环。在可能的情况下,在编辑器模式下进行计算是个好主意。更改
OnValidation
方法后,不要忘记调用
UnityEditor.EditorUtility.SetDirty(this)
,强制序列化游戏对象。
public List<string> ArrayOfStrings;
public List<Image> Images;

void Start()
{
    ArrayOfStrings.AddRange(Images.Select(x => $"the text you want for {x}").ToList());
}