我有方法,其中参数“word”首先返回Word,最后一个字母返回字符串。在第一个和最后一个字母之间有三个点。例如,当你编写“stackoverflow”时,它会像“s ... w”
那样返回它我有这段代码,但我不会工作。
namespace stackoverflow
{
class Program
{
static void Main(string[] args)
{
string word = "stackoverflow";
string firsLast = FirsLast(word);
Console.WriteLine(firsLast);
Console.ReadKey();
}
private static string FirsLast(string word)
{
string firsLast = "...";
for (int i = 0; i < word.Length; i += 2)
{
firsLast += word.ElementAt(i);
}
return firsLast;
}
}
}
答案 0 :(得分:8)
为什么不
if (word.Length >= 2)
{
return word[0] + "..." + word[word.Length - 1];
}
答案 1 :(得分:4)
if (word.Length >= 2)
{
return word.First() + "..." + word.Last();
}
答案 2 :(得分:2)
您不需要使用循环来解决这个问题。重写您的方法如下:
private static string FirsLast(string word)
{
return word[0] + "..." + word[word.Length - 1];
}
答案 3 :(得分:0)
试试这个:
private static string FirsLast(string word)
{
string retVal = string.Format("{0}...{1}", word.Substring(0,1), word.Substring(word.Length - 1));
return retVal;
}