如何替换一些文本并再次将其分配给c#中的相同字符串

时间:2017-09-08 05:58:19

标签: c# string if-statement

在我的应用程序中,我将获得-b的文件名。我需要替换-b并在替换之后我需要再次将该文件名添加到doc。我怎样才能做到这一点?

doc中的文件名为123-b.docx,我需要替换-b,然后在重新播放后我应该123.doc这应该提供给doc。

if (ddlstype.SelectedValue == "1")
{
    doc = filup1.FileName;
    if (doc.ToLower().Replace("-b", "").ToString())
    {

    }

    ReadFiles(doc1, doc2, ""); 
}
else if (ddlstype.SelectedValue == "2")
{   
    ReadFiles(doc1, "" , ""); 
}
else if (ddlstype.SelectedValue == "3")
{       
    ReadFiles(doc1,"", doc2); 
}

我收到此错误:

  

无法将类型string隐式转换为bool附近:
  if (doc.ToLower().Replace("-b", "").ToString())

2 个答案:

答案 0 :(得分:1)

ToString()返回一个字符串,您在if语句中使用它。这就是你得到编译错误的原因。 if语句需要内容为true或false,例如:

if (a==4)
{ 
  ...

ToString()不返回true或false。它返回一个字符串。

你想在if语句中检查什么?

答案 1 :(得分:0)

试试这个:

doc = doc.ToLower().Replace("-b", "");

删除if.所以它会是:

if (ddlstype.SelectedValue == "1")
{
    doc = filup1.FileName;
    doc = doc.ToLower().Replace("-b", "");

    ReadFiles(doc1, doc2, ""); 
}

我从if移除if statement are selection statements,这意味着它会检查您的语句是真还是假。因此,如果语句不应该声明变量doc的值。