C# s、 你可以很容易地把事情搞得一团糟,最终把电脑上的东西都抹掉,或者干脆把它弄坏,让它再也无法启动了。非常感谢你!你知道为什么它不让我编辑设置吗?我以前就想好了如何让它们可用,但不幸的是,我忘了。这是我所处的模式还是什么?哦,我刚刚关闭了VS并重新打开它,
C# s、 你可以很容易地把事情搞得一团糟,最终把电脑上的东西都抹掉,或者干脆把它弄坏,让它再也无法启动了。非常感谢你!你知道为什么它不让我编辑设置吗?我以前就想好了如何让它们可用,但不幸的是,我忘了。这是我所处的模式还是什么?哦,我刚刚关闭了VS并重新打开它,,c#,visual-studio,C#,Visual Studio,s、 你可以很容易地把事情搞得一团糟,最终把电脑上的东西都抹掉,或者干脆把它弄坏,让它再也无法启动了。非常感谢你!你知道为什么它不让我编辑设置吗?我以前就想好了如何让它们可用,但不幸的是,我忘了。这是我所处的模式还是什么?哦,我刚刚关闭了VS并重新打开它,它工作了。只有一个问题;我必须将静态void Main(string[]args)代码粘贴到我的项目中的某个地方才能工作,还是它会自动创建它?哦,对不起,还有,sizeLimit和toDelete值的单位是什么?字节?是这样吗?对于所有的问题,
s、 你可以很容易地把事情搞得一团糟,最终把电脑上的东西都抹掉,或者干脆把它弄坏,让它再也无法启动了。非常感谢你!你知道为什么它不让我编辑设置吗?我以前就想好了如何让它们可用,但不幸的是,我忘了。这是我所处的模式还是什么?哦,我刚刚关闭了VS并重新打开它,它工作了。只有一个问题;我必须将
静态void Main(string[]args)
代码粘贴到我的项目中的某个地方才能工作,还是它会自动创建它?哦,对不起,还有,sizeLimit和toDelete值的单位是什么?字节?是这样吗?对于所有的问题,我很抱歉,可能是因为我太离题了,严重误解了你的意思。我真的很感谢你的帮助,你不知道d整数值为long
类型(见图2)。如果使用string
(与链接类似),则必须将字符串转换为数字。使用long.Parse()
函数。
private void DeleteOldFilesIfOverFolderLimit(string folderPath,
long folderSizeLimit,
long amountToDelete)
{
var folder = new DirectoryInfo(folderPath);
var files = folder.GetFiles();
var folderSize = files.Sum(fi => fi.Length);
if (folderSize > folderSizeLimit)
{
// Sort the list of files with the oldest first.
Array.Sort(files,
(fi1, fi2) => fi1.CreationTime.CompareTo(fi2.CreationTime));
var amountDeleted = 0L;
foreach (var file in files)
{
amountDeleted += file.Length;
file.Delete();
if (amountDeleted >= amountToDelete)
{
break;
}
}
}
}
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
// This is here only to pause the console window so it stays open.
System.Console.ReadLine();
}
}
public class Hello1
{
public static void Main()
{
PrintToConsole("Hello World!");
// This is here only to pause the console window so it stays open.
System.Console.ReadLine();
}
private static void PrintToConsole(string stringToPrintToConsole)
{
System.Console.WriteLine(stringToPrintToConsole);
}
}
public class Hello1
{
public static void Main()
{
PrintToConsole("Hello World!", 5);
// This is here only to pause the console window so it stays open.
System.Console.ReadLine();
}
private static void PrintToConsole(string stringToPrintToConsole, long numberOfTimesToPrint)
{
for (int i = 0; i < numberOfTimesToPrint; i++)
{
System.Console.WriteLine(stringToPrintToConsole);
}
}
}
static void Main(string[] args)
{
string folder=Properties.Settings.Default.folder;
long limit=Properties.Settings.Default.sizeLimit;
long delete=Properties.Settings.Default.toDelete;
}
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="SO_KeepStettings.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<SO_KeepStettings.Properties.Settings>
<setting name="folder" serializeAs="String">
<value>C:\SysApp</value>
</setting>
<setting name="sizeLimit" serializeAs="String">
<value>157286400</value>
</setting>
<setting name="toDelete" serializeAs="String">
<value>156237824</value>
</setting>
</SO_KeepStettings.Properties.Settings>
</userSettings>
</configuration>