Tag: type conversion

将锯齿状数组直接转换为2D数组而不迭代每个项目?

我正在尝试将DataTable保存到Excel工作表中..我的代码是这样的.. Excel.Range range = xlWorkSheet.get_Range(“A2”); range = range.get_Resize(dtExcel.Rows.Count, dtExcel.Columns.Count); object[,] rng1 = new object[dtExcel.Rows.Count, dtExcel.Columns.Count]; Excel范围需要范围值作为数组[,]但我将DataTable作为锯齿数组[] []。 object[][] rng2 = dtExcel.AsEnumerable().Select(x => x.ItemArray).ToArray(); 是否有任何内置函数可以将锯齿状数组[] []直接转换为2D数组[] []? 通过Excel迭代,DataTable和分配对于批量数据来说似乎更慢。 此外,我不想设置使用DSN查询excel ..我选择了excel存储以避免配置任何数据库..:PI在此处找到了将数据写入excel的方法的详细说明.. http:// support。 microsoft.com/kb/306023

ASP.NET 5(核心):如何在会话缓存(ISession)中存储对象?

我正在编写一个ASP.NET 5 MVC 6(核心)应用程序。 现在我来到了一个需要在session-cache( ISession )中存储(设置和获取)对象的点。 您可能知道, ISession的Set -method采用byte-array , Get -method返回一个。 在非核心应用程序中,我会使用BinaryFormatter来转换我的对象。 但是我怎么能在核心应用程序中做到这一点?

用逗号(,)转换c#decimal toString()

c# decimal.toString()转换问题 示例:当我使用toString()将十进制转换为字符串时,我有一个十进制值(.1),它返回(0,10)。 而不是。(DOT)它返回,(COMMA)。

动态生成IL中的值类型转换

更新 一年后,我终于意识到了这种行为的原因。 本质上,一个对象不能被拆箱到不同的类型(即使该类型转换或转换为目标类型),如果你不知道正确的类型,你必须以某种方式发现它。 赋值可能完全有效,但这不可能自动发生。 例如,即使一个字节适合Int64,也不能将字节拆分为long。 您必须将一个字节取消装入一个字节,然后再将其转换。 如果您没有足够的信息来执行此操作,则必须使用其他方法(如下所示)。 表征和身份 原始问题 我正在与IL合作,以提高通常使用reflection处理的许多任务的性能。 为了实现这一点,我大量使用DynamicMethod类。 我编写了动态方法来设置对象的属性。 这允许开发人员仅基于名称动态设置属性。 这对于将数据库中的记录加载到业务对象等任务非常有用。 但是,我坚持一个(可能很简单)的事情:转换值类型,甚至更大到更小的类型(例如将一个字节的值放入Int32)。 这是我用来创建动态属性设置器的方法。 请注意,我删除了除IL生成部分之外的所有内容。 // An “Entity” is simply a base class for objects which use these dynamic methods. // Thus, this dynamic method takes an Entity as an argument and an object value DynamicMethod method = new DynamicMethod( string.Empty, null, new […]

如何在C#中将ArrayList转换为字符串数组(string )

如何在C#中将ArrayList转换为string[] ?

不能隐式地将类型’X’转换为’string’ – 何时以及如何判断它“不能”?

现在我和Guid一起Guid 。 我当然记得,在某些地方的代码中,这种隐式转换是有效的,而在其他地方则没有。 直到现在我都没有看到这种模式。 编译器如何决定它何时不能? 我的意思是,类型方法Guid.ToString()存在,不需要在需要这种转换时调用它吗? 有人可以告诉我在什么情况下这个转换是自动完成的,当我必须显式调用myInstance.ToString() ?

无法将IQueryable 转换为IOrderedQueryable错误

我有以下LINQ代码: var posts = (from p in db.Posts .Include(“Site”) .Include(“PostStatus”) where p.Public == false orderby p.PublicationTime select p); if (!chkShowIgnored.Checked) { posts = posts.Where(p => p.PostStatus.Id != 90); } 最后一行(额外的地方)给了我错误: 无法将类型’System.Linq.IQueryable’隐式转换为’System.Linq.IOrderedQueryable’。 我不确定这意味着什么…… 为什么我收到此错误? 它出现了一次我在查询中添加了“orderby”子句,之前它编译得很好,所以我对所发生的事情有一种预感,但我无法完全理解它。

有没有办法在C#中进行动态隐式类型转换?

给定此类具有隐式转换运算符: public class MyDateTime { public static implicit operator MyDateTime(System.Int64 encoded) { return new MyDateTime(encoded); } public MyDateTime(System.Int64 encoded) { _encoded = encoded; } System.Int64 _encoded; } 我现在可以做以下事情: long a = 5; MyDateTime b = a; 但不是以下内容: long f = 5; object g = f; MyDateTime h = g; 这给出了编译时间: 无法将类型’object’隐式转换为’MyDateTime’。 我感觉合理。 现在我修改前面的例子如下: long f […]

在C#中使用条件运算符键入结果

我试图使用条件运算符,但我对它认为结果应该是的类型挂了。 下面是一个我设法表明我遇到的问题的例子: class Program { public static void OutputDateTime(DateTime? datetime) { Console.WriteLine(datetime); } public static bool IsDateTimeHappy(DateTime datetime) { if (DateTime.Compare(datetime, DateTime.Parse(“1/1”)) == 0) return true; return false; } static void Main(string[] args) { DateTime myDateTime = DateTime.Now; OutputDateTime(IsDateTimeHappy(myDateTime) ? null : myDateTime); Console.ReadLine(); ^ } | } | // This line has the compile […]