c# - 将列表转换为纯字符串,就像字符串模式一样
问题描述
请检查下面的代码。我正在尝试将项目列表转换为具有特定字符串模式的纯字符串,您可以在代码注释中找到该模式。:
一件事是在转换期间,我还需要为 ASIN 属性删除任何空格和任何字符。如您所见,我已经尝试过.ToString()
,但这无法转换列表值。知道我该怎么做吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//asign some demo data
var tpd = new List<ThirdPartyData>();
tpd.Add(new ThirdPartyData { ASIN = "mark: NsQf8", type = 0, Price = 7, IsPrime = 1, OutOfStock = 1 });
tpd.Add(new ThirdPartyData { ASIN = "fD5tsQ ", type = 1, Price = 13, IsPrime = 0, OutOfStock = 0 });
tpd.Add(new ThirdPartyData { ASIN = "notmark: tvQtsu", type = 1, Price = 14, IsPrime = 1, OutOfStock = 1 });
//this tpd list should be converted string like bellow-
//Converted String output should be like this- 'ASIN-NsQf8,type-0,Price-7,IsPrime-1,OutOfStock-1:ASIN-fD5tsQ,type-1,Price-13,IsPrime-0,OutOfStock-0:ASIN-tvQtsu,type-1,Price-14,IsPrime-1,OutOfStock-1'
string output = tpd.ToString();//i tried it not works
}
}
class ThirdPartyData
{
public string ASIN { get; set; }
public int type { get; set; }
public int Price { get; set; }
public int IsPrime { get; set; }
public int OutOfStock { get; set; }
}
}
解决方案
首先,您定义一个方法来将您的自定义类转换为您想要的字符串表示形式:
class ThirdPartyData
{
public string ASIN { get; set; }
public int type { get; set; }
public int Price { get; set; }
public int IsPrime { get; set; }
public int OutOfStock { get; set; }
public string ToExport()
{
return $"ASIN-{ASIN},type-{type},...";
}
}
然后你将你的类实例映射到它们的字符串表示:
string[] tpdStrings = tpd.Select(t => t.ToExport()).ToArray();
然后你使用你想要的分隔符加入这些字符串:
string output = String.Join(":", tpdStrings);
推荐阅读
- html - CSS - 将元素对齐到页面的右侧
- kubernetes - Kustomize - 合并多个 configMapGenerators
- visual-studio - Visual Studio 控件无法跳转到同一文件中的函数定义
- embedded - 使用 MSP430 FR5994 的 UART 串行桥接器
- sql - 在一个公共列上连接 2 个具有不同行的表
- python - Python3 isnumeric() 方法未按预期工作
- json - Swift - 使用 PATCH 方法更新接收错误
- java - Kotlin 中的 elif 语句不执行
- javascript - AngularJS将范围数据从应用控制器传递到指令
- javascript - 如何将 2 个表导出到 Excel 中的同一文件但反应 js 中的不同工作表?