我有一个表单,用于定义将来字符串的构造方式:
用户在前4个框中键入相应的数字,以便将其字符串格式化为哪个顺序。在下面的框中,我希望动态创建一个字符串,以显示他们想要的示例。
EG。如果他们输入1-2-4
(与列表中的索引相关),我想显示110ME1C001A
(1 = 110
,2 = ME1
,4 = C
。001A
与"序列"和"平行"在表格顶部展示有关。)
如果他们选中分隔符复选框,则字符串将变为110-ME1-C-001-A
如果他们选择反向序列; 110-ME1-C-A-001
。
然后决定他们希望2-4-3
没有分隔符和正常序列:ME1CME2001A
。 (你明白了)。
我有一个关于字符串参数如何工作的非常基本概念,所以我不太清楚如何开始。任何人都可以给我一些关于如何做到这一点或者搜索什么来帮助我的一些指示?
答案 0 :(得分:1)
我认为最简单的解决方案是填充数组以用作参数列表,并按如下方式创建字符串。可能不完美,但您应该能够根据需要进行调整:
// Create an array of the parameters, including the separator
var parameters = new string[5];
parameters[0] = string.Empty;
parameters[1] = "area";
parameters[2] = "origin";
parameters[3] = "destination";
parameters[4] = "type";
// Will give: areaorigindestinationtype
var result1 = String.Format("{1}{0}{2}{0}{3}{0}{4}", parameters);
// Now change the separator:
parameters[0] = "-";
// Will give: area-origin-destination-type
var result2 = String.Format("{1}{0}{2}{0}{3}{0}{4}", parameters);
// Finally, reverse the last four parts:
Array.Reverse(parameters, 1, 4);
// Will give: type-destination-origin-area
var result3 = String.Format("{1}{0}{2}{0}{3}{0}{4}", parameters);
如果你的字符串中还有其他你想要的东西,你可以把它放在那里,如sequence
和parallel
,如果这些应该总是在最后:
// Note the two added {0}'s to add more separators:
String.Format("{1}{0}{2}{0}{3}{0}{4}{0}sequence{0}parallel", parameters);