【发布时间】:2016-04-18 17:26:58
【问题描述】:
这是程序消耗 36.50 MB 的内存,但我希望它小于 32 MB
public static void CreateText(string text)
{
if (Convert.ToInt32(text.Length) <= 80)
{
int n;
string str = "";
string count = "";
char[] mas = text.ToCharArray();
for (int i = 0; i < Convert.ToInt32(mas.Length); i++)
{
if (int.TryParse(mas[i].ToString(), out n))
{
count += mas[i].ToString();
}
else
{
if (String.IsNullOrEmpty(count))
{
str += mas[i].ToString();
}
else
{
for (int j = 0; j < Convert.ToInt32(count); j++)
{
str += mas[i].ToString();
}
count = "";
}
}
}
Console.WriteLine(str);
} else {
Console.WriteLine("Error");
}
}
【问题讨论】:
-
为什么是
Convert.ToInt32(text.Length)?text.Length已经是 INT 类型 -
内存不够
-
也许字符串生成器可以救你
-
这似乎......随意。您在这里的确切目标是什么?
-
另外...我不确定
count += mas[i].ToString();行是否符合您的预期。