以下程序最初是在java中。但是我在C#中的程序仍然有1个错误 (该错误列在第二段代码的评论中)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DynArray
{
public class DynArrayTester
{
static void Main(string[] args)
{
DynArray da = new DynArray(5);
for (int i = 1; i <= 7; i++)
{
da.setData(i, i);
//da.put(0, 0);
//da.put(6, 6);
}
Console.WriteLine(da);
}
}/*DynArrayTester*/
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DynArray
{
public class DynArray
{
//toestand
private int[] data;
//gedrag
public DynArray(int size)
{
data = new int[size];
}
public int getData(int index)
{
return data[index - 1];
}
private void expand(int size)
{
int[] tmp = data;
data = new int[size];
for (int i = 0; i < tmp.Length; i++)
{
data[i] = tmp[i];
}
}/*expand*/
public void setData(int index, int data)
{
if (0 < index)
{
if (index > this.data.length) // ***error, does not contain definition for "lenght" and no exetension method "lenght"***
expand(index);
this.data[index - 1] = data;
}
}
public override string ToString()
{
StringBuilder buf = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
buf.Append("[" + i + "]");
buf.Append(data[i]);
buf.Append('\n');
}
return buf.ToString();
}
}/*DynArray*/
}
答案 0 :(得分:2)
将.length
更改为.Length
另外,更改“data”参数令人困惑的是同时使用成员数组和同一方法中的参数。
答案 1 :(得分:0)
this.data.length
查看文档,您将看到错误是正确的。 data是一个数组。数组没有属性“length”。没有拼写。 “长度”不是“长度”。
检查.NET的文档以找到正确的拼写或属性名称。