using System;
using System.Linq;
namespace Chapter01All
{
public class CustString
{
string str;
public static string w = "";
public CustString(string w)
{
str = w;
}
public string CustomSubString(int i, int j)
{
return(str.Substring(i, j));
}
public string GetWholeString()
{
return str;
}
public string ReverseString()
{
return (new string(str.Reverse().ToArray()));
}
public string RecursiveRevStr(int c)
{
if (c < 0)
return w;
else
w = w + str.Substring(c, 1) + RecursiveRevStr(--c);
return w;
}
public int GetStringLength()
{
return str.Length;
}
}
class SubStr
{
static void Main()
{
CustString cs = new CustString("C# makes strings easy.");
Console.WriteLine("orgstr: " + cs.GetWholeString());
Console.WriteLine("substr: " + cs.CustomSubString(5, 12));
Console.WriteLine("revstr: " + cs.ReverseString());
Console.WriteLine("RecRev: " + cs.RecursiveRevStr(cs.GetStringLength() - 1));
}
}
}
文字列の逆転だけなら、水色の部分で出来ます。独習C#第3版P244課題6では再帰を使った答えを要求してます。本の答えとは違いますが、出来てますのでOKですか?ピンクの太字のreturnがピンときませんでした。でも欲しいようです。