【发布时间】:2023-03-29 05:20:01
【问题描述】:
我在编写接受单个参数long i 的方法时需要帮助:
public static string GetWord(long i)
{
string s = "";
//Update s using i
return s;
}
...对于我的保存 ASCII 字文件的程序...
public static void main(string[] args)
{
try
{
int First = int.Parse(args[0]);
int Last = int.Parse(args[1])
string Filename = args[2]
for(int i = start; i <= end; i++)
File.AppendLine(Filename, GetWord(i));
Console.WriteLine("Process complete");
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
...使用以下模式。
GetWord(0) 应该是Encoding.ASCII.GetString(new byte[]{ 0 }); 的结果
GetWord(1) 应该是Encoding.ASCII.GetString(new byte[]{ 1 }); 的结果
GetWord(2) 应该是Encoding.ASCII.GetString(new byte[]{ 2 }); 的结果
...以此类推,直到GetWord(127)。
GetWord(128) 应该是GetWord(0) + Encoding.ASCII.GetString(new byte[]{ 0 }); 的结果
GetWord(129) 应该是GetWord(0) + Encoding.ASCII.GetString(new byte[]{ 1 }); 的结果
GetWord(130) 应该是GetWord(0) + Encoding.ASCII.GetString(new byte[]{ 2 }); 的结果
...以此类推,直到GetWord(255)。
GetWord(256) 应该是GetWord(1) + Encoding.ASCII.GetString(new byte[]{ 0 }); 的结果
GetWord(257) 应该是GetWord(1) + Encoding.ASCII.GetString(new byte[]{ 1 }); 的结果
GetWord(258) 应该是GetWord(1) + Encoding.ASCII.GetString(new byte[]{ 2 }); 的结果
...以此类推,直到GetWord(16383)。
GetWord(16384) 应该是GetWord(0) + GetWord(0) + Encoding.ASCII.GetString(new byte[]{ 0 }); 的结果
GetWord(16385) 应该是GetWord(0) + GetWord(0) + Encoding.ASCII.GetString(new byte[]{ 1 }); 的结果
GetWord(16386) 应该是GetWord(0) + GetWord(0) + Encoding.ASCII.GetString(new byte[]{ 2 }); 的结果
写下模式有助于我思考代码。我希望这对每个人都有意义。我认为我需要混合使用递归和模数才能使其正常工作。
【问题讨论】:
-
所以你想在你的方法中使用一个 long 类型的参数,循环直到那个数字生成单词?
-
作为拥有 3.3k 代表的用户,您应该知道“我需要一种方法”不是寻求帮助,而是寻求解决方案 :-)
-
我投票决定将此问题作为题外话结束,因为正如您所做的那样,我有一种方法可以做到这一点,但不幸的是我把它留在了出租车上。那时我还年轻得多。该算法是如何出现的,混合了记忆和欲望......
-
我的意思是,我们强制用户分享他们尝试过的东西,这样我们就可以帮助他们解决问题,而不是用勺子喂他们想要的东西 :-) 顺便说一句,我的评论无意伤害。
-
注意:Word[128] 到 Word[255] 都将是“?”。
标签: c# string file ascii auto-generate