我几天前开始学习C#,但是我遇到了公共字符串问题,我目前正在尝试编写一个程序来复制和替换文件以进行练习,但是无论我使用多少,我都遇到了公共字符串问题尝试更改代码,我自己也无法弄清楚,所以我来这里寻求帮助
我究竟做错了什么?
这是代码:
命名空间Extractor
{
公共局部类Form1:Form
{
公共字符串s
{
get;
放;
}
公用字符串sSelectedPath
{
get;
放;
}
public string beckup
{
get;
放;
}
public Form1()
{
InitializeComponent();
}
private void direc_Click(object sender,EventArgs e)
{
FolderBrowserDialog fbd =新的FolderBrowserDialog();
fbd.Description =“选择文件夹”;
if (fbd.ShowDialog() == DialogResult.OK)
{
string sSelectedPath = fbd.SelectedPath;
}
}
private void choof_Click(object sender, EventArgs e)
{
OpenFileDialog choofdlog = new OpenFileDialog();
choofdlog.Filter = "All Files (*.*)|*.*";
choofdlog.FilterIndex = 1;
choofdlog.Multiselect = true;
if (choofdlog.ShowDialog() == DialogResult.OK)
{
string s = choofdlog.FileName;
}
}
private void button3_Click(object sender, EventArgs e)
{
ReplaceFile( s, sSelectedPath, beckup);
}
public static void ReplaceFile(string FileToMoveAndDelete, string FileToReplace, string BackupOfFileToReplace)
{
File.Replace(FileToMoveAndDelete, FileToReplace, BackupOfFileToReplace, false);
}
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbb = new FolderBrowserDialog();
fbb.Description = "Select a folder";
if (fbb.ShowDialog() == DialogResult.OK)
{
string beckup = fbb.SelectedPath;
}
}
}
您的错误在这里:
if (choofdlog.ShowDialog() == DialogResult.OK)
{
string sSelectedPath = choofdlog.FileName;
}
您使用的是局部变量,而不是成员变量。因此,写:
if (choofdlog.ShowDialog() == DialogResult.OK)
{
sSelectedPath = choofdlog.FileName;
}
或者,更好的是,如果您不想出错,请this.
在编写成员变量或方法时使用:
if (choofdlog.ShowDialog() == DialogResult.OK)
{
this.sSelectedPath = choofdlog.FileName;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句