Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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#_List_Object_Methods_Return - Fatal编程技术网

C# 返回列表中对象的正确方法

C# 返回列表中对象的正确方法,c#,list,object,methods,return,C#,List,Object,Methods,Return,当我尝试返回卡丁车列表时,我在其中填充我的对象,我会得到“systems.collections.generic.list”,我如何以正确的方式返回卡丁车 方法 public class AddToKart { public static List<KartItem> PutItemInKart(string input, int inputNumber, double inputPrice) { List<

当我尝试返回卡丁车列表时,我在其中填充我的对象,我会得到“systems.collections.generic.list”,我如何以正确的方式返回卡丁车

方法

    public class AddToKart
    {
        public static List<KartItem> PutItemInKart(string input, int inputNumber, double inputPrice)
        {
            List<KartItem> kart = new List<KartItem>();
            kart.Add(new KartItem() {
                Item = input,
                Pound = inputNumber,
                Cost = inputPrice
            });;
            return kart;
        }
    }
PutItemInKart试验方法试验项目磅数和成本 来自对象

  [Fact]
        public void AddToKartMethodItem()
        {
            //Arrange
            string expected = "fdfdfsds";

            //Act
            List<KartItem> items = AddToKart.PutItemInKart(expected, 3, 4.5);
            string actual = items[0].Item;

            //Assert
            Assert.Equal(expected, actual);
        }
        [Fact]
        public void AddKartMethodPound()
        {
            int expected = 3;
            List<KartItem> numbers = AddToKart.PutItemInKart("mingt", expected, 4.45);
            int actual = numbers[0].Pound;
            Assert.Equal(expected, actual);
        }
        [Fact]
        public void AddToKartMethodCost()
        {
            double expected = 34.56;
            List<KartItem> cost = AddToKart.PutItemInKart("fdsf", 5, expected);
            double actual = cost[0].Cost;
            Assert.Equal(expected, actual);
        }
[事实]
public void addToCartMethodItem()
{
//安排
字符串应为=“fdfsds”;
//表演
列表项=AddToKart.PutItemInKart(预期为3,4.5);
字符串实际值=项[0]。项;
//断言
断言。相等(预期、实际);
}
[事实]
public void AddKartMethodPound()
{
int预期=3;
列表编号=AddToKart.PutItemInKart(“mingt”,预计为4.45);
int实际值=数字[0]。磅;
断言。相等(预期、实际);
}
[事实]
公共无效AddToCartMethodCost()
{
双预期=34.56;
列表成本=AddToKart.PutItemInKart(“fdsf”,5,预期);
双倍实际=成本[0]。成本;
断言。相等(预期、实际);
}

这取决于您使用的场景。 从您的代码中,我可以看出您必须拥有一个类KartContainer,它必须包含所有与操作相关的Kart

    public class KartContainer
    {
        private List<KartItem> Items = new List<KartItem>();

        public void AddItem(KartItem item)
        {
            Items.Add(KartItem);
        }

        public List<KartItem> GetItems()
        {
            return Items;
        }
    }

你是以正确的方式归还的。问题在于如何处理由
PutItemInKart()
返回的结果。请向我们展示该代码,我们可以帮助您修复它。是否将结果直接传递到
控制台.WriteLine()
?当您在调试器中查看对象时,调试器将调用对象上的
ToString
,以显示描述该对象的字符串。如果类没有重写
ToString
方法,则使用基类版本。所有类的基类都是
System.Object
System.Object.ToString
只返回它所知道的关于对象的信息——它的类名。这个方法总是返回一个只有1个项目的新赛车。您的购物车只能有1个项目?也许逻辑有缺陷?你能告诉我们所有的代码吗?你在哪里看到“系统.集合.通用.列表”?@Train我已经包括了KartItem。我希望这能帮到你-谢谢!看了这么长时间的代码,我的大脑变慢了,哈哈
    public class KartContainer
    {
        private List<KartItem> Items = new List<KartItem>();

        public void AddItem(KartItem item)
        {
            Items.Add(KartItem);
        }

        public List<KartItem> GetItems()
        {
            return Items;
        }
    }
        KartContainer kart = new KartContainer();

        KartItem item = new KartItem()
        {
            Item = "",
            Pound = 1,
            Cost = 1
        }

        kart.AddItem(item);
        List<KartItem> Items = kart.GetItems();
    public KartItem(string item, int pound, double cost)
    {
        Item = item;
        Pound= pound;
        Cost = cost;
    }