运算符'+'不能应用于'System.date.time'和'char'类型的操作数

Lea*_*ner 0 c# c#-4.0

我在下面的代码中收到了这个错误.这个+符号在C#中不可用吗?

错误:运算符'+'无法应用于'System.date.time'和'char'类型的操作数

 return StartDate +';'+EndDate;
Run Code Online (Sandbox Code Playgroud)

编辑:

在答案之后,我编辑了这样的代码.但是我得到了那些错误

return StartDate.ToString() + ';' + EndDate.ToString();
Run Code Online (Sandbox Code Playgroud)

错误:自Hdate.HDate(); return void,return关键字后面不能跟一个对象表达式

整个代码在这里:点击这里查看整个代码

Car*_*ten 5

只需使用";" 代替 ';':

return StartDate +";"+EndDate;
Run Code Online (Sandbox Code Playgroud)

字符串(Concat)有一个+运算符,它将在对象上运行(使用.ToString()) - 因此如果给出一个字符串,该语句是有效的.在你的情况下,没有这样的运算符用于字符,编译器无法知道你隐式想要将所有内容转换为字符串.

编辑:你的第二个问题(考虑将来成为一个新问题):

直接从您的代码(完整版):

public HDate(){

    DateTime today = DateTime.Now;
    /* snip - not relevant */   
       return StartDate+';'+EndDate;
   }
Run Code Online (Sandbox Code Playgroud)

你看:这是你的HDate类型的构造函数- 你在最后的语句中返回一些东西......但你不能

  • 它是关于这样一个事实:在某些东西中添加一个字符串会使它在默认情况下成为`ToString()`,它对char不起作用. (2认同)