下面C# Append()哪里错了?

using System;

class List
{
Entry head;

class Entry
{
double data;
Entry next;

public Entry(double d)
{
data = d;
next = null;
}

public double Data
{
get { return data; }
set { data = value; }
}

public Entry Next
{
get { return next; }
set { next = value; }
}

public override string ToString()
{
return string.Format("{0:F2}", data);
}
}

public List()
{
head = null;
}

public void Append(double d)
{
Entry tmp = new Entry(d);
Entry current = head;
if (head == null)
{
head = tmp;
}
else
{
while (current != null)
{
current = current.Next;
}
current = tmp;
}
}

public override string ToString()
{
Entry current = head;
string result = "";

if (current == null)
{
result = "Empty List";
}
else
{
while (current != null)
{
result += string.Format("{0} ", current.ToString());
current = current.Next;
}
}

return result;
}
}

class TestProgram
{
static void Main()
{
List l = new List();

Console.WriteLine("\nNewly Constructed List");
Console.WriteLine(l);

l.Append(5.0d);
l.Append(-12.4d);
l.Append(36.5d);
l.Append(7.0d);
l.Append(42.0d);
l.Append(12.0d);

Console.WriteLine("\nList After Append Operations");
Console.WriteLine(l);
}
}

要求编的只有Append那个方法所以错误应该出在那里
题目要求输出5.00 -12.4.。。。。那些数字,但是现在永远都只出现5.00后面的都没有
要怎么改才能输出所有的数?谢谢!

第1个回答  2011-11-14
List l = new List();这儿有错误吧?放在VS2010里编译报错!List<T> item=new List<T>(); 只能用Add()或Insert()等方法!
StringBuilder sb=new StringBuilder() 然后才可以sb.Append("");本回答被提问者和网友采纳
第2个回答  2011-11-14
List l = new List();
这样的话你需要用一个foreach 或者是for循环输出才可以。他是一个集合不是一个对象
第3个回答  2011-11-14
Append()方法里面对Head的赋值只有一次,就是在Head==null的时候,所以你Head里的Data永远只有一个5.0
第4个回答  2020-04-17

list集合,需要遍历,才能全部输出的。和数组一样需要遍历输出

下面C# Append()哪里错了?
List l = new List();这儿有错误吧?放在VS2010里编译报错!List<T> item=new List<T>(); 只能用Add()或Insert()等方法!StringBuilder sb=new StringBuilder() 然后才可以sb.Append("");

C#中关联数据库数据类型
建议你不要使用拼接。StringBuilder sb = new StringBuilder();sb.Append("Insert Into 课程(课程编号,课程名称,开课学期,总学时,学分) ");sb.Append("VALUES(" + txtCno.Text + ",'" + txtCname.Text + "'," + combTerm.Text + "," + txtTotal.Text + "," + txtCredit.Text + "...

C#中什么时候用append
那么执行后sb100的值变成"ABC123" 即"ABC"+"123"

写了一段C#代码,总是出现问题,是不是dataGridView1.SelectedRows[i...
if ((bool)dataGridView1.SelectedRows[i].Cells[0].EditedFormattedValue == true){ \/\/添加图书信息SQL语句 sb.Append("delete from bookinfo where id='"+ dataGridView1.SelectedRows[i].Cells[1].Value.ToString() + "';");} DataGridView中选中的行总是会<=总行数的 或者改成下面这样...

C#中 sb.Append(" 1=1")是什么意思啊?能具体说说嘛?谢谢啦
你这个sb是一个SQL语句吗?如果是sql语句的话·你加上 sb.Append(" 1=1")应该是 永真的意思。select * from a where 1=1 当where 后面的条件不确定会出现多少个的时候一般是可以考虑在后面加上一个 1=1 永真的 例 StringBuilder sb= new StringBuilder("select * from a where ");if(id!

求一个很基础的c#代码!!万分感谢!!!
sbErrs.Append("您所提供的C#代码中存在语法错误!" + System.Environment.NewLine); foreach (CompilerError err in compResult.Errors) { sbErrs.AppendFormat("{0},{1}" + System.Environment.NewLine, err.ErrorNumber, err.ErrorText); } strErrText = sbErrs.ToString(); return null; } #endregion...

C#中 sb.Append(" 1=1")是什么意思啊?能具体说说嘛?
= new StringBuild();sb.Append("select from talbe1 ")sb.Append("where 1=1 ")sb.Append("and col1='a'")sb.Append("and col2='2'")这里的1=1其实是没意思的(它是永远成立的,可以忽略).但如果没有1=1,你之后的条件将怎么与前面的字符串拼接呢?是用"where"还是用"and"?所以这里...

c#中Append和AppendLine的区别
区别就是差一个 Line ApppendLine 会在结尾添加换行符

C#中为什么使用Seek(0,EeekOrigin. begin)会错误
这个提示已经很清楚了,你用“追加模式”(FileMode.Append)打开的文件,所以不能Seek。如果想随机写,只要使用FileStream fs = new FileStream(@"C:\\file.txt", FileMode.OpenOrCreate, FileAccess.Write); 就可以了。当然也可以这样写:FileStream fs = File.OpenWrite(@"C:\\file.txt");

c#中append什么意思 是否和console.writeline有什么联系
append是stringbuilder的方法、用于在原始的基础之上在后面追加指定的数据、、console.writeline()是在控制台输出指定的数据、二者不是一回事、后者可以将前者的数据输出显示出来、

相似回答