【问题标题】:How do i increase a number by 1 in every line that contain the number 1如何在包含数字 1 的每一行中将数​​字加 1
【发布时间】:2019-12-23 11:27:51
【问题描述】:

我希望它增加每个数字“1”上的数字,但也重复增加两次你可以查看下面的示例我正在尝试删除程序中的一堆文件,正如我所说的往下看但是你知道如何 Directory.Delete(path);没有 if (Directory.Exists) 和所有它也会很棒。因为我宁愿只输入 Directory.Delete(path) ,如果它找不到文件夹,它将继续。对不起我的英语不好

谷歌的一切都很糟糕

if (Directory.Exists(delete[1]))
{
Directory.Delete(delete[1]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[1]))
{
Directory.Delete(delete[1]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[1]))
{
Directory.Delete(delete[1]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[1]))
{
Directory.Delete(delete[1]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[1]))
{
Directory.Delete(delete[1]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}

if (Directory.Exists(delete[1]))
{
Directory.Delete(delete[1]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[2]))
{
Directory.Delete(delete[2]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[3]))
{
Directory.Delete(delete[3]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[3]))
{
Directory.Delete(delete[3]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}
if (Directory.Exists(delete[4]))
{
Directory.Delete(delete[4]);
Console.WriteLine("You didnt fail");
}
else
{
Console.WriteLine("You failed!");
}

and so on

i showed what i expected over here ^^

【问题讨论】:

  • 什么是删除[1]?您尝试删除 4 次相同的 delete[1] 数组元素。
  • 你不能在 Notepad++ 中轻易地做这样的事情,你必须用你最喜欢的脚本语言编写一个脚本。或者编写一个您将调用每个delete[n] 的过程

标签: c# notepad++


【解决方案1】:

你可以写一个函数来删除目录,

public bool PurgeDirectory(string filePath)
{
   if (Directory.Exists(filePath))
   {
      Directory.Delete(filePath);
      return true;
   }
   return false;
}

现在迭代 n 次以获得预期结果,这里 n 是 4

int n = 4;
string[] dirPaths = new string[n]{"dirPath1", "dirPath2"}; //string array will contain directory paths
for(int i = 0; i < n; i++)
{
  //You can call m times PurgeDirectory() function to avoid repeated code
  Console.WriteLine(PurgeDirectory(dirPaths[i]) ? "You Passed" : "You failed");
} 

【讨论】:

    【解决方案2】:

    您想使用迭代器变量循环遍历数组。 用你的起点初始化i,用你的专属结尾i初始化length(在你的例子中,它是5)。

    //gets the length of the array
    int length = sizeof(delete)/sizeof(delete[0]); 
    for(int i=0; i<length; i++){
        if (Directory.Exists(delete[i]))
        {
        Directory.Delete(delete[i]);
        Console.WriteLine("You didnt fail");
        }
        else
        {
        Console.WriteLine("You failed!");
        }
    }
    

    【讨论】:

    • 哦,看起来很有趣,去试试吧
    • 你有不和也许你可以在共​​享屏幕上显示给我看?
    • 在不和谐中添加了你
    【解决方案3】:

    @pr0f3ss 的答案在他帮助我解决不和谐问题后奏效了,所以最终答案是

    int length = 5; //5 since i had 5 lines
    for(int i=0; i<length; i++){
        if (Directory.Exists(delete[i]))
        {
        Directory.Delete(delete[i]);
        Console.WriteLine("You didnt fail");
        }
        else
        {
        Console.WriteLine("You failed!");
        }
    

    【讨论】:

      猜你喜欢
      • 2020-07-11
      • 2012-06-05
      • 2014-03-23
      • 2023-01-09
      • 1970-01-01
      • 2019-02-17
      • 2010-12-28
      • 2015-09-13
      • 1970-01-01
      相关资源
      最近更新 更多