我真的很困惑为什么反向功能无法正常工作..
我目前有
List<string> decimalVector = new List<string>();
string tempString = "10"
//For Vector Representation
for (int i = 0; i < tempString.Length; i++)
{
//As long as we aren't at the last digit...
if (i != (tempString.Length-1))
{
decimalVector.Add(tempString[i].ToString() + ",");
}
else
{
decimalVector.Add(tempString[i].ToString());
}
}
Console.Write("Decimal: " + decimalOutput);
Console.Write(" Vector Representation: [");
decimalVector.Reverse();
for (int i = 0; i < decimalVector.Count; i++)
{
Console.Write(decimalVector[i]);
}
Console.Write("]");
由于某些原因而不是代码输出 [0,1] ,因为它与decimalVector
中的当前相反( [1, 0] )..打印出 [01,] 我很困惑。为什么它会随机移动我的逗号?我做了一些非常愚蠢的事情并没有看到它吗?
答案 0 :(得分:2)
您要反转元素的顺序,而不是字符的顺序。它的1,
后跟0
。当它被反转时0
后跟1,
。打印时,您会得到01,
。
您不应将分隔,
包含在列表元素中,而只应在打印时添加它。
顺便说一下,string.Join
方法可以优雅地解决您的问题:
string.join(",", tempString.Select(c => c.ToString()).Reverse())
答案 1 :(得分:0)
试试这个:
foreach (string s in decimalVector.Reverse())
{
Console.Write(s);
}