c# - C#将字符串[]中的值插入模型列表
问题描述
我有这个类型模型列表,List<SequenceModel> listSequenceModel
其中包含很少的属性,比如
public class SequenceModel
{
public int Sequence1 {get;set;}
public int Sequence2 {get;set;}
public int Sequence3 {get;set;}
public int OrderNr {get;set;}
}
我用“_”得到这个字符串,我拆分并创建了一个字符串列表
string[] szFilterParamsList2 = model.szFilterParams.Split('_');
此字符串的示例是“sequence1a_sequence1b_sequence1c”,但也可以是“_ sequence2b _”或“__sequence3”或“sequence1 __”(此处的空格是出于stackoverflow格式的原因,请忽略它们)。这意味着我可以得到一个包含三个不可为空元素的列表,或者它的任何可空变体,但至少一个元素必须有一个值。
List1: [0] = "123"
[1] = "432"
[2] = "575"
List2: [0] = "123"
[1] = ""
[2] = ""
List3: [0] = ""
[1] = "98"
[2] = ""
等等。
如何将这些值从字符串 [] 分配到List<SequenceModel> listSequenceModel
? 对于空元素,我将分配硬编码 -1,因为值应该始终为正(如果不是 null)。
编辑: SequenceModel 用于另一个模型,如
public class BarcodeModel
{
public int Product {get;set;}
public decimal Price {get;set;}
public List<SequenceModel> BarcodeSequence {get;set;}
}
解决方案
这可以帮助您使用 Linq 吗?
class Program
{
static void Main(string[] args)
{
SplitStrings();
}
private static string sequence1 = "123_456_789";
private static string sequence2 = "123__";
private static string sequence3 = "__789";
static void SplitStrings()
{
string[] szFilterParamsList1 = sequence1.Split('_').Select(s => string.IsNullOrEmpty(s) ? "-1" : s).ToArray();
string[] szFilterParamsList2 = sequence2.Split('_').Select(s => string.IsNullOrEmpty(s) ? "-1" : s).ToArray();
string[] szFilterParamsList3 = sequence3.Split('_').Select(s => string.IsNullOrEmpty(s) ? "-1" : s).ToArray();
PrintArray(szFilterParamsList1);
PrintArray(szFilterParamsList2);
PrintArray(szFilterParamsList3);
}
static void PrintArray(string[] strArray)
{
foreach (string item in strArray)
{
Console.WriteLine(item);
}
}
}
输出:
123
456
789
123
-1
-1
-1
-1
789
推荐阅读
- python - 我正在尝试创建一个视频游戏,但我被卡住了
- bert-language-model - 如何微调孟加拉语的伯特语言模型
- javascript - 我有一个标题为:“TypeError:无法读取未定义的属性‘执行’”并且无法修复它的错误
- javascript - 为什么 JS 代码中的这个 javascript 函数以这样的前括号开头并以一对括号结尾?(功能() { })();
- html - 附加到文本框及其大小的 HTML 复选框
- python - Python 和 C++ 程序之间的差异
- typescript - Nestjs中的基本实体与存储库
- matlab - 我正在尝试在不使用间谍功能的情况下在 MatLab 中进行生活游戏
- api - 世界银行 api 从指标中排除区域数据
- wordpress - Wordpress 1000 帖子重定向