c# string concat获取另一个变量
本文关键字:另一个 变量 获取 concat string | 更新日期: 2023-09-27 18:01:30
大家好。我想问是否有可能连接2个字符串来获得另一个变量。
假设我有这样的代码:
string num1 = "abcdefgh";
string num2 = "ijklmnop";
int numLength = 0;
我想用forloop来获取num1和num2的值
for(int i =1; i<= 2; i++)
{
numLength = ("num" + i).Length + numLength;
}
Console.WriteLine("Length is {0}", numLength);
我想让它输出
长度为16
我做了上面的代码,但它实际上给了我不同的值。
编辑1:(附注:我将使用超过10个变量,我只指出其中的2个,使它简单)
编辑2:是的,是的。我想要("num"+ I)长度等于num1。length + num2.Length.第一种方式:
我建议您将所有字符串添加到列表中,然后使用Sum
方法获得总长度。
List<string> allStrings = new List<string>();
allStrings.Add(num1);
allStrings.Add(num2);
...
allStrings.Add(num10);
var totalLength = allStrings.Sum(x => x.Length);
第二种方式
或者如果你想用for
循环计算总长度:
int totalLength = 0;
for (int i = 0; i < allStrings.Count; i++)
{
totalLength = totalLength + allStrings[i].Length;
}
第三条道路
如果您不想使用List
,那么您可以使用String.Concat
,然后使用Length
属性。
var totalLength = String.Concat(num1, num2).Length;
在你的例子中,结果是16
编辑:
在我看来,你认为("num" + i).Length
会给你num1.Length
和num2.Length
。
假设我们有一些字符串,我们想要这些字符串的总长度
在这种情况下,您需要将所有字符串存储在数组中,因此您可以对它们进行计数并使用索引。
和之后一个简单的for
(或foreach
)循环可以解决这个问题:
string[] texts = new string[20]; //You can use any number u need, but in my code I wrote 20.
texts[0] = "sample text 1";
texts[1] = "sample text 2";
// add your strings ...
int totalLenght = 0;
foreach (string t in texts)
{
totalLenght += t.Length;
}
Console.WriteLine("Length is {0}", totalLenght);
如果你需要一个无限制大小的变量,使用List<T>
下面是一个例子:
List<string> texts = new List<string>();
texts.Add("sample text 1");
texts.Add("sample text 2");
// add your strings ....
int totalLenght = 0;
for (int i = 0; i < texts.Count; i++)
{
totalLenght += texts[i].Length;
}
Console.WriteLine("Length is {0}", totalLenght);