Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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# 从列表中加入ID 目标_C# - Fatal编程技术网

C# 从列表中加入ID 目标

C# 从列表中加入ID 目标,c#,C#,将列表中所有元素的每个id连接到一个串联字符串中,如1、2、3 问题 在我的应用程序中,有一个方法的唯一参数是string类型,我想向它传递一个类似1,2,3,4,5的值 这些值(1,2,3,4,5)将通过列表发送给我-我需要从列表中获取每个元素的id 如何获取这些id并将它们连接成单个字符串 我已经试过了 我已经尝试了以下代码(): List sessionProducts=sessionStore.Get(“ProductsSummary”); //ProductsSummary是会话的索引

将列表中所有元素的每个id连接到一个串联字符串中,如
1、2、3

问题 在我的应用程序中,有一个方法的唯一参数是
string
类型,我想向它传递一个类似
1,2,3,4,5
的值

这些值(
1,2,3,4,5
)将通过
列表发送给我-我需要从列表中获取每个元素的
id

如何获取这些
id
并将它们连接成单个字符串

我已经试过了 我已经尝试了以下代码():

List sessionProducts=sessionStore.Get(“ProductsSummary”);
//ProductsSummary是会话的索引。
string list=string.Join(“,”,sessionProducts);
返回内容(列表);
但是没有成功。当我访问我的视图时,返回值为:

MyApp.Models.Data.Products

技术细节 我的.Net版本是4.5

复制的? 我想这不是因为我在谷歌上搜索,而是没有成功。此外,我的发现对我也没有帮助。

你可以使用:

string list = string.Join(", ", sessionProducts.Select(p => p.id));
这将使用以及可枚举的。选择
将产品集合转换为可枚举的IEnumerable。您可以使用:

string list = string.Join(", ", sessionProducts.Select(p => p.id));

这将使用以及可枚举。选择可将产品集合转换为IEnumerable

字符串中使用Select语句。加入

List<Products> sessionProducts = sessionStore.Get("ProductsSummary");
string list = string.Join(", ", sessionProducts.Select(p => p.Id));
List sessionProducts=sessionStore.Get(“ProductsSummary”);
string list=string.Join(“,”,sessionProducts.Select(p=>p.Id));

字符串中使用select语句。Join

List<Products> sessionProducts = sessionStore.Get("ProductsSummary");
string list = string.Join(", ", sessionProducts.Select(p => p.Id));
List sessionProducts=sessionStore.Get(“ProductsSummary”);
string list=string.Join(“,”,sessionProducts.Select(p=>p.Id));

您看到的输出是在
产品
对象上调用
ToString
的结果,它似乎没有被覆盖

您需要覆盖
产品的
ToString
,或者选择
id
属性:

string list = string.Join(", ", sessionProducts.Select(product => product.id));

您看到的输出是对
Products
对象调用
ToString
的结果,它似乎没有被覆盖

您需要覆盖
产品的
ToString
,或者选择
id
属性:

string list = string.Join(", ", sessionProducts.Select(product => product.id));

您需要将ID列表传递给
string.Join
,如下所示:

string joinedIds = string.Join(", ", sessionProducts.Select(p => p.Id))

否则,将调用
ToString()
,这就是您看到特定字符串的原因。

您需要将ID列表传递给
字符串。Join
,如下所示:

string joinedIds = string.Join(", ", sessionProducts.Select(p => p.Id))

否则,将调用
ToString()
,这就是您看到特定字符串的原因。

因为其他人都给了您
。选择()
答案这里是另一个选项。重写
产品
上的ToString函数,以便join尝试加入它们时,它将使用id而不是类名

public class Products
{
    public int Id {get; set;}

    public string override ToString()
    {
        return this.Id.ToString();
    }
}

因为其他人都给了你
。选择()
答案这里是另一个选项。重写
产品
上的ToString函数,以便join尝试加入它们时,它将使用id而不是类名

public class Products
{
    public int Id {get; set;}

    public string override ToString()
    {
        return this.Id.ToString();
    }
}
你明白了吗

MyApp.Models.Data.Products
因为您正在传递它
List
和字符串。Join正在对您的对象调用
.ToString()
。而您需要像这样传递ID

string list = string.Join(", ", sessionProducts.Select(x=>x.id));
你明白了吗

MyApp.Models.Data.Products
因为您正在传递它
List
和字符串。Join正在对您的对象调用
.ToString()
。而您需要像这样传递ID

string list = string.Join(", ", sessionProducts.Select(x=>x.id));

sessionProducts是不是字符串的产品列表。星期五快乐@sza:这有什么关系?sessionProducts是一个产品列表,而不是字符串。星期五快乐@sza:这有什么关系?缺少一个结束语(
;)@李德波西:接得好。谢谢缺少结束语(
;)@李德波西:接得好。谢谢你把它分配给什么?字符串,列表。。??你只是在这里调用一个方法看看Reed Copsey的回答他把它分配给一个string@DJKRAZE他的代码只是替换原始问题中的连接的一个替代品。您将它分配给?字符串,列表。。??你只是在这里调用一个方法看看Reed Copsey的回答他把它分配给一个string@DJKRAZE他的代码将只是原始问题中连接的替代品。我认为值得指出的是,他的问题的原因是他试图连接
产品
类型的实例,而不是串。select是必需的,因为它执行投影,对于每个产品,它返回products id属性,该属性是一个字符串。我认为值得指出的是,他出现问题的原因是他试图连接
product
类型的实例,而不是字符串。select是必需的,因为它执行投影,对于每个产品,它返回products id属性,该属性是一个字符串。