当前位置:编程学习 > C#/ASP.NET >>

C#中一个关于属性的简单问题

有如下代码,编译时出错为:“无法将类型“string”隐式转换为“int” (CS0029) - E:\VS2010\控制台\属性的实例\属性的实例\Program.cs:17,12”

using System;

namespace 属性的实例
{
//这个类当中定义了一个属性
public class Arrtb
{
private int MY_Arrtb=0;
private string str;
public int My_Arrtb
{
get 
{
return str;
}
set
{
MY_Arrtb =value;
if(MY_Arrtb>0)
str="Google";
else
str="Rilon";
}
}
}
class Program
{
public static void Main(string[] args)
{
Arrtb A=new Arrtb ();
A.My_Arrtb=5;
Console.WriteLine("{0}",A.My_Arrtb);
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
我定义的属性类型是int,但是我要求返回string型,请问应该怎样改? --------------------编程问答--------------------
string str = int变量.toString();

如string  str="";int sum=10;

str=sum.toString(); --------------------编程问答-------------------- Console.WriteLine("{0}",A.My_Arrtb);
这句报错吧,A.My_Arrtb.toString()不行么? --------------------编程问答-------------------- public int Str
{
//..
}
--------------------编程问答-------------------- public int My_Arrtb
{
get  
{
return str;
}

要求返回的是int的,但你的str又是string的,自己看调整哪个
--------------------编程问答-------------------- 难道属性的类型的int型的,就没有办法返回string型的吗?
--------------------编程问答-------------------- 改成如下这样不就解决了吗?

namespace 属性的实例
{
//这个类当中定义了一个属性
public class Arrtb
{
private int MY_Arrtb=0;
private string str;
public string  My_Arrtb
{
get 
{
return str;
}
set
{
MY_Arrtb =Convert.ToInt32(value);
if(Convert.ToInt32(MY_Arrtb)>0)
str="Google";
else
str="Rilon";
}
}
}
class Program
{
public static void Main(string[] args)
{
Arrtb A=new Arrtb ();
A.My_Arrtb="5";
Console.WriteLine("{0}",A.My_Arrtb);
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
} --------------------编程问答-------------------- c#是强类型,int.parse一下 --------------------编程问答-------------------- 把Console.WriteLine("{0}",A.My_Arrtb);
改成Console.WriteLine("{0}",A.My_Arrtb.ToString());

--------------------编程问答-------------------- lz,你写成Console.WriteLine("{0}",A.My_Arrtb)这样,是为了使用string.format()来把int转变成对应的string吗?或者你可以用更简单点的东西Console.WriteLine(""+A.My_Arrtb),这样很简单的 --------------------编程问答-------------------- 1、首先判断你的字符串str内容是数字,否则其他处理
2、可以用Convert.ToInt32(str);强制转化后再返回 --------------------编程问答--------------------
引用 10 楼 maysaber 的回复:
1、首先判断你的字符串str内容是数字,否则其他处理
2、可以用Convert.ToInt32(str);强制转化后再返回


这个赞同
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,