C#常见问题总结(二)
1. C#中如何判断两个字符串是否相等?
使用==运算符判断,例如:
string a = "hello";
string b = "Hello";
if (a == b)
{
Console.WriteLine("a和b相等");
}
else
{
Console.WriteLine("a和b不相等");
}
2. 如何实现数组反转?
可以使用Array.Reverse()方法,例如:
int[] arr = { 1, 2, 3, 4, 5 };
Array.Reverse(arr);
foreach (int item in arr)
{
Console.Write(item + " ");
}
输出结果为:5 4 3 2 1
3. 如何判断一个数是否为质数?
可以使用循环判断该数是否为除1和本身外的其他数字的倍数,如果不是则为质数。例如:
int n = 7;//判断7是否为质数
bool flag = true;//默认为质数
for (int i = 2; i < n; i++)
{
if (n % i == 0)//如果能被i整除,则不是质数
{
flag = false;
break;//跳出循环
}
}
if (flag)
{
Console.WriteLine("{0}是质数", n);
}
else
{
Console.WriteLine("{0}不是质数", n);
}
4. 如何实现字符串反转?
可以将原字符串转换为字符数组,然后使用Array.Reverse()方法进行反转,最后再将字符数组转换为字符串。例如:
string str = "hello";
char[] arr = str.ToCharArray();
Array.Reverse(arr);
string result = new string(arr);
Console.WriteLine(result);
输出结果为:olleh
5. 如何生成随机数?
可以使用Random类实现生成随机数的功能,例如:
Random random = new Random();
int num = random.Next(1, 11);//生成1-10的随机数
Console.WriteLine(num);
6. 如何实现倒计时?
可以使用Timer类实现倒计时功能,例如:
int count = 10;
Timer timer = new Timer(1000);//每隔1秒执行一次
timer.Elapsed += (sender, e) =>
{
count--;
Console.WriteLine(count);
if (count == 0)
{
timer.Stop();//停止计时器
Console.WriteLine("倒计时结束");
}
};
timer.Start();
7. 如何实现字符串中单词的首字母大写?
可以使用string.Split()方法将字符串拆分成单词数组,然后对每个单词进行处理,最后使用string.Join()方法将处理后的单词数组拼接成字符串。例如:
string str = "hello world";
string[] words = str.Split(' ');
for (int i = 0; i < words.Length; i++)
{
words[i] = words[i].Substring(0, 1).ToUpper() + words[i].Substring(1);
}
string result = string.Join(" ", words);
Console.WriteLine(result);
输出结果为:Hello World。
