在 C# 中将 List<String> 转换为 String
List<String> to String in C#
我在 Entity Framework 5.0 中创建了一些表并从中生成了一个 SQL 服务器数据库。表格如下:
Title (TitleId, TitleName, TitlePrice, ISBN...)
Author (AuthorId, FirstName, LastName)
Category (CategoryId, CategoryName)
标题和作者以及标题和类别之间的关系是多对多的。
现在,这是我如何访问分配给每个标题的类别以及哪些作者对标题做出了贡献。
//for authors
var queryAuthList = from au in ebs.Authors
from t in au.Titles
where t.TitleId == TitleId
select new
{
Name = string.Concat(au.FirstName, " ", au.LastName)
};
//for categories
var queryCatList = from cat in ebs.Categories
from t in cat.Titles
where t.TitleId == TitleId
select new
{
cat.CategoryName
};
现在,如何在简单的文本标签中显示 queryAuthList 或 queryCatList 的内容?
我希望输出类似于 AuthorA, AuthorB, AuthorC
作者和 CategoryX, CategoryY, CategoryZ
分配给单个标题的类别。
我尝试声明 List<String>
并在 foreach
循环中将项目添加到列表中,然后使用 String.Join(",",strList)
打印列表。但是输出显示为
{Name = AuthorA}, {Name = AuthorB}, {Name = AuthorC}
{CategoryName = CategoryX}, {CategoryName = CategoryY}, {CategoryName = CategoryZ}
您看到的 {Name = AuthorA}
是匿名类型的默认值 ToString()
。
你不想这样,所以不要用匿名类型包装它:
var queryAuthList = from au in ebs.Authors
from t in au.Titles
where t.TitleId == TitleId
//select new
//{
// Name = string.Concat(au.FirstName, " ", au.LastName)
//};
select string.Concat(au.FirstName, " ", au.LastName);
并且由于 queryAuthList
现在是 IEnumerable<string>
,
string result = String.Join(",", queryAuthList);
我在 Entity Framework 5.0 中创建了一些表并从中生成了一个 SQL 服务器数据库。表格如下:
Title (TitleId, TitleName, TitlePrice, ISBN...)
Author (AuthorId, FirstName, LastName)
Category (CategoryId, CategoryName)
标题和作者以及标题和类别之间的关系是多对多的。
现在,这是我如何访问分配给每个标题的类别以及哪些作者对标题做出了贡献。
//for authors
var queryAuthList = from au in ebs.Authors
from t in au.Titles
where t.TitleId == TitleId
select new
{
Name = string.Concat(au.FirstName, " ", au.LastName)
};
//for categories
var queryCatList = from cat in ebs.Categories
from t in cat.Titles
where t.TitleId == TitleId
select new
{
cat.CategoryName
};
现在,如何在简单的文本标签中显示 queryAuthList 或 queryCatList 的内容?
我希望输出类似于 AuthorA, AuthorB, AuthorC
作者和 CategoryX, CategoryY, CategoryZ
分配给单个标题的类别。
我尝试声明 List<String>
并在 foreach
循环中将项目添加到列表中,然后使用 String.Join(",",strList)
打印列表。但是输出显示为
{Name = AuthorA}, {Name = AuthorB}, {Name = AuthorC}
{CategoryName = CategoryX}, {CategoryName = CategoryY}, {CategoryName = CategoryZ}
您看到的 {Name = AuthorA}
是匿名类型的默认值 ToString()
。
你不想这样,所以不要用匿名类型包装它:
var queryAuthList = from au in ebs.Authors
from t in au.Titles
where t.TitleId == TitleId
//select new
//{
// Name = string.Concat(au.FirstName, " ", au.LastName)
//};
select string.Concat(au.FirstName, " ", au.LastName);
并且由于 queryAuthList
现在是 IEnumerable<string>
,
string result = String.Join(",", queryAuthList);