反转数组反转其他数组
reversing an array reverse the others
当我反转 var b a 时,也请有人帮助我,谢谢
using System;
using System.Collections.Generic;
public class Palindrome
{
public static void Main(string[] args)
{
Console.WriteLine(IsPalindrome("tysui"));
}
public static bool IsPalindrome(string word)
{
List<char> a = new List<char>();
a.AddRange(word.ToLower());
var b = a;
b.Reverse();
Console.WriteLine(string.Join("",a.ToArray()));
Console.WriteLine(string.Join("",b.ToArray()));
return true;
}
}
将此用于 b
List<char> b = new List<char>();
b.AddRange(word.ToLower());
当您执行 var b = a
时,您不会复制列表,而是为其创建另一个别名。因此,如果更改了原始列表,则指向它的所有变量现在也将更改。
如果要克隆列表,请在构造函数中传递原始列表:
var b = new List<char>(a);
请注意,这只会克隆列表本身,而不是其中对象的内容。在这种特殊情况下,这无关紧要,因为 char
是不可变值类型,但对于引用类型,这可能会有所不同。
当我反转 var b a 时,也请有人帮助我,谢谢
using System;
using System.Collections.Generic;
public class Palindrome
{
public static void Main(string[] args)
{
Console.WriteLine(IsPalindrome("tysui"));
}
public static bool IsPalindrome(string word)
{
List<char> a = new List<char>();
a.AddRange(word.ToLower());
var b = a;
b.Reverse();
Console.WriteLine(string.Join("",a.ToArray()));
Console.WriteLine(string.Join("",b.ToArray()));
return true;
}
}
将此用于 b
List<char> b = new List<char>();
b.AddRange(word.ToLower());
当您执行 var b = a
时,您不会复制列表,而是为其创建另一个别名。因此,如果更改了原始列表,则指向它的所有变量现在也将更改。
如果要克隆列表,请在构造函数中传递原始列表:
var b = new List<char>(a);
请注意,这只会克隆列表本身,而不是其中对象的内容。在这种特殊情况下,这无关紧要,因为 char
是不可变值类型,但对于引用类型,这可能会有所不同。