如何返回Id特殊字符串 [英] How Do I Return String With Id Special

查看:95
本文介绍了如何返回Id特殊字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何返回带有ID的字符串我想要检查文件夹是否存在但是我使用全局静态字符串必须在void中使用内部变量你建议的内容

 < span class =code-keyword> namespace  vc 
{
public partial class Form1:表格
{
public static string path_program;
public static string path_program_log ;
public static string path_log ;

private void Form1_Load(对象 sender,EventArgs e)
{
creat_folder_log( // log ); // 其promlem
creat_folder( // image);
}


void creat_folder( string name_folder )
{
string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString())。ToString()+ name_folder;
if (Directory.Exists(n)== false
{
System.IO.Directory.CreateDirectory(n);
}
path_program = n;
}

void creat_folder_log( string name_folder)
{
string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString())。ToString()+ name_folder;
if (Directory.Exists(n)== false
{
System.IO.Directory.CreateDirectory(n);
}
path_program_log = n;
}
}
}

解决方案

另一种解决方案可能是这个。



 使用 System.IO; 

命名空间 vc
{
public partial class Form1:Form
{
// 使用属性而不是字段封装数据
// 私有集意味着无法在类外更改属性
public string path_program { get ; private set ; }
public string path_program_log { get ; private set ; }
public string path_log { get ; private set ; }

private void Form1_Load( object sender,EventArgs e)
{
// 使用Path。在create_folder内部组合需要
// 参数中的斜杠消除
path_program = create_folder( log);
path_program_log = create_folder( image);
}

// 由于您拥有文件夹名称,因此只需要一种方法作为参数
private string create_folder( string name_folder)
{
string n = Path.Combine(
Path.GetDirectoryName(Application。 ExecutablePath),
name_folder));
if (!Directory.Exists(n)) // 使用! (不)运算符
{
Directory.CreateDirectory(n);
}
return n;
}

}
}


试试这个;



 命名空间 vc 
{
public partial class Form1:Form
{
public string path_program;
public string path_program_log;
public string path_log;

private void Form1_Load( object sender,EventArgs e)
{
path_program = creat_folder_log( //日志); // 其promlem
path_program_log = creat_folder( // image);
}


string creat_folder( string name_folder )
{
string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString())。ToString()+ name_folder;
if (Directory.Exists(n)== false
{
System.IO.Directory.CreateDirectory(n);
}
return n;
}

string creat_folder_log( string name_folder)
{
string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString())。ToString()+ name_folder;
if (Directory.Exists(n)== false
{
System.IO.Directory.CreateDirectory(n);
}
return n;
}
}
}





希望这有帮助,

弗雷德里克


How do i return string with ID i want check folder is Exists or not but i use global static string must use internal variable in void what you suggested

namespace vc
{
    public partial class Form1 : Form
    {
      public static string path_program;
        public static string path_program_log;
        public static string path_log;

   private void Form1_Load(object sender, EventArgs e)
        {
            creat_folder_log("//log"); // its promlem
            creat_folder("//image");
        }


      void creat_folder(string name_folder)
        {
            string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString()).ToString() + name_folder;
            if (Directory.Exists(n) == false)
            {
                System.IO.Directory.CreateDirectory(n);
            }
            path_program = n;
        }

   void creat_folder_log(string name_folder)
        {
            string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString()).ToString() + name_folder;
            if (Directory.Exists(n) == false)
            {
                System.IO.Directory.CreateDirectory(n);
            }
            path_program_log = n;
        }
    }
}

解决方案

An alternative solution could be this.

using System.IO;

namespace vc
{
    public partial class Form1 : Form
    {
        // The use of properties instead of fields encapsulates the data
        // the private set means that the property can't be changed outside the class
        public string path_program { get; private set; }
        public string path_program_log { get; private set; }
        public string path_log { get; private set; }
        
        private void Form1_Load(object sender, EventArgs e)
        {
            // By using Path.Combine inside create_folder the need
            // of slashes in the parameter is eliminated
            path_program = create_folder("log");
            path_program_log = create_folder("image");
        }
        
        // Only one method is necessary as you have the folder name as a parameter
        private string create_folder(string name_folder)
        {
            string n = Path.Combine(
                Path.GetDirectoryName(Application.ExecutablePath), 
                name_folder));
            if (!Directory.Exists(n))    // Using the ! (not) operator
            {
                Directory.CreateDirectory(n);
            }
            return n;
        }
        
    }
}


Try this;

namespace vc
{
    public partial class Form1 : Form
    {
        public string path_program;
        public string path_program_log;
        public string path_log;

   private void Form1_Load(object sender, EventArgs e)
        {
            path_program = creat_folder_log("//log"); // its promlem
            path_program_log = creat_folder("//image");
        }


      string creat_folder(string name_folder)
        {
            string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString()).ToString() + name_folder;
            if (Directory.Exists(n) == false)
            {
                System.IO.Directory.CreateDirectory(n);
            }
            return n;
        }

   string creat_folder_log(string name_folder)
        {
            string n = System.IO.Path.GetDirectoryName(Application.ExecutablePath.ToString()).ToString() + name_folder;
            if (Directory.Exists(n) == false)
            {
                System.IO.Directory.CreateDirectory(n);
            }
            return n;
        }
    }
}



Hope this helps,
Fredrik


这篇关于如何返回Id特殊字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆