C#:拆分字符串并将结果分配给多个字符串变量 [英] C#: Split string and assign result to multiple string variables
问题描述
我有一个字符串,其中多个字段由特定字符分隔,如下所示:
I have a string with several fields separated by a specific character, something like this:
A,B,C
我想用逗号分割字符串,并将每个结果字段分配给它自己的字符串变量.在Perl中,我可以像这样优雅地做到这一点:
I want to split the string at the commas and assign each resulting field to its own string variable. In Perl I can do that elegantly like this:
my ($varA, $varB, $varC) = split (/,/, $string);
在C#中实现相同结果的最简单,最优雅的方法是什么?
我知道我可以拆分为一个数组:
I know that I can split into an array:
string[] results = string.Split(',');
但是然后我将不得不通过它们的索引访问这些字段,例如结果[2].这很难读取且容易出错-考虑没有3个butt 30字段.因此,我更喜欢将每个字段值都放在其自己的命名变量中.
But then I would have to access the fields via their index, e.g. results[2]. That is difficult to read and error-prone - consider not having 3 buth 30 fields. For that reason I prefer having each field value in its own named variable.
推荐答案
我同意.将拆分隐藏在Adapter类中似乎是一种好方法,并且可以很好地传达您的意图:
I agree. Hiding the split in an Adapter class seems like a good approach and communicates your intent rather well:
public class MySplitter
{
public MySplitter(string split)
{
var results = string.Split(',');
NamedPartA = results[0];
NamedpartB = results[1];
}
public string NamedPartA { get; private set; }
public string NamedPartB { get; private set; }
}
这篇关于C#:拆分字符串并将结果分配给多个字符串变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!