Tag: 转换

为什么C#中的字节减法需要强制转换?

我必须使用WinForms在VS2008 .net 3.5中使用以下代码: byte percent = 70; byte zero = 0; Bitmap copy = (Bitmap)image1.Clone(); … Color oColor = copy.GetPixel(x, y); byte oR = (byte)(oColor.R – percent < zero ? zero : oColor.R – percent); 当我离开最后一行代码的“ (byte) ”时,我得到一个编译器错误,说它“不能隐式地将类型’ int ‘转换为’ byte ‘。” 如果一切都是byte类型而byte是一个整数类型…那么为什么我需要进行强制转换呢?

我尝试使用或返回时可以避免使用枚举值吗?

如果我有以下枚举: public enum ReturnValue{ Success = 0, FailReason1 = 1, FailReason2 = 2 //Etc… } 我回来时可以避免施放,像这样: public static int main(string[] args){ return (int)ReturnValue.Success; } 如果没有,为什么默认情况下不将枚举值视为int?

如何将List 转换为DataSet?

给定一个对象列表,我需要将其转换为数据集,其中列表中的每个项目由一行表示,每个属性都是行中的一列。 然后将此DataSet传递给Aspose.Cells函数,以便将Excel文档创建为报表。 说我有以下内容: public class Record { public int ID { get; set; } public bool Status { get; set; } public string Message { get; set; } } 给定List记录,如何将其转换为DataSet,如下所示: ID Status Message 1 true “message” 2 false “message2” 3 true “message3” … 目前,我唯一能想到的是: DataSet ds = new DataSet ds.Tables.Add(); ds.Tables[0].Add(“ID”, typeof(int)); ds.Tables[0].Add(“Status”, typeof(bool)); ds.Tables[0].Add(“Message”, […]

在运行时指定generics集合类型参数

我有: class Car {..} class Other{ List GetAll(){..} } 我想要做: Type t = typeof(Car); List Cars = GetAll(); 我怎样才能做到这一点? 我想从我在运行时使用reflection发现的类型的数据库中返回一个generics集合。