C#实现把dgv里的数据完整的复制到一张内存表的方法
本文实例讲述了C#实现把dgv里的数据完整的复制到一张内存表的方法,相信对大家学习C#有一定的借鉴价值。
具体实例代码如下:
/// <summary> /// 方法实现把dgv里的数据完整的复制到一张内存表 /// </summary> /// <param name="dgv">dgv控件作为参数 </param> /// <returns>返回临时内存表 </returns> public static DataTable GetDgvToTable(DataGridView dgv) { DataTable dt = new DataTable(); for (int count = 0; count < dgv.Columns.Count; count++) { DataColumn dc = new DataColumn(dgv.Columns[count].Name.ToString()); dt.Columns.Add(dc); } for (int count = 0; count < dgv.Rows.Count; count++) { DataRow dr = dt.NewRow(); for (int countsub = 0; countsub < dgv.Columns.Count; countsub++) { dr[countsub] = dgv.Rows[count].Cells[countsub].Value.ToString(); } dt.Rows.Add(dr); } return dt; }
感兴趣的朋友可以自己动手调试运行一下该实例,有助于深入了解C#程序设计。
相关推荐
-
浅谈C#互操作的内存溢出问题
c#调用C++DLL代码,发现了一个隐藏很深的问题. 危害很大,而且不易察觉. 大概是申明c++的函数时候,有一个long类型的指针.在C#中我的申明成了这样: public extern void Method(ref uint para); 最初怎么也没有发现这里面有什么问题,知道这个隐藏的问题暴露出来,把前面申明的一个变量改变了, 我才恍然大悟. 复制代码 代码如下: uint test = 0;int *p = new IntPtr();Method(ref test); 在调用Meth
-
使用C#调用系统API实现内存注入的代码
复制代码 代码如下: //首先导入命名空间 using System.Runtime.InteropServices; /// <summary> /// 在指定进程的虚拟地址空间中保留或开辟一段区域..除非MEM_RESET被使用,否则将该内存区域初始化为0. /// </summary> /// <param name="process">需要在其中分配空间的进程的句柄.这个句柄必须拥有PROCESS_VM_OPERATION访问权限</p
-
C#垃圾回收机制的详细介绍
一.托管代码/非托管代码C#代码通过C#编译器编译成程序集,程序集由微软中间语言组成,CLR会为程序集开辟一个应用程序域,程序集就是运行在这个应用程序域里面的,应用程序域是相互独立的,互不影响.托管代码:被CLR管理的代码.非托管代码:不被CLR管理的代码.分配在栈空间的变量,一旦执行完成其所在的作用域(即大括号范围)就会被CLR回收.分配在堆里面的对象,当没有任何变量引用它的时候,这个对象就被标记为"垃圾对象"(没有变量引用它),等待垃圾回收器回收.Eg: 复制代码 代码如下: Pe
-
C# Struct的内存布局问题解答
问题:请说出以下struct的实例大小以及内存布局 复制代码 代码如下: struct Struct1{ public byte a; public short b; public string c; public int d;} struct Struct2{ public byte a; public long b; public byte c; public string d;} struct Struct3{ byte a; b
-
C#中string和StingBuilder内存中的区别实例分析
本文实例分析了C#中string和StingBuilder内存中的区别,有助于更好的掌握C#程序设计中string和StingBuilder的用法.分享给大家供大家参考.具体方法如下: 关于 string和StringBuilder的区别参考MSDN.本文用程序演示它们在内存中的区别,及其因此其行为不同. 先来看看下面这段代码: //示例: string 的内存模型 namespace ConsoleApplication2 { class Program { static void Main(
-
C#的内存回收代码
本文实例讲述了C#的内存回收方法.分享给大家供大家参考.具体实现方法如下: 如下示例代码是调用win32底层操作,可实现内存的回收. 复制代码 代码如下: [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")] public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSi
-
分享C#操作内存读写方法的主要实现代码
复制代码 代码如下: using System.Runtime.InteropServices; using System.Text; publicclass Function { //C#操作内存读写方法publicstaticbyte PtrToByte( int Ptr ) { byte b = Marshal.ReadByte( ( IntPtr ) Ptr ); return b; } publicstaticchar PtrToChar( int Ptr ) { byte b = M
-
C#删除文件夹和文件到回收站示例
代码: 复制代码 代码如下: using System;using Microsoft.VisualBasic.FileIO;namespace leaver{class Program{ static void Main(string[] args){ Console.WriteLine("删除文件到回收站");string filepath = "leaver.txt";FileSystem.DeleteFile(filepath, UIOption.OnlyE
-
C# WinForm应用程序降低系统内存占用方法总结
背景: 微软的 .NET FRAMEWORK 现在可谓如火如荼了.但是,.NET 一直所为人诟病的就是"胃口太大",狂吃内存,虽然微软声称 GC 的功能和智能化都很高,但是内存的回收问题,一直存在困扰,尤其是 winform 程序,其主要原因是因为.NET程序在启动时,是需要由JIT动态编译并加载的,这个加载会把所有需要的资源都加载进来,很多资源是只有启动时才用的. 以XP 系统为例子,程序启动后,打开任务管理器,会看到占用的内存量比较大,你把程序最小化,会发现该程序占用的内存迅速减小
-
浅谈关于C#的垃圾回收机制
理解C#垃圾回收机制我们首先说一下CLR(公共语言运行时,Common Language Runtime)它和Java虚拟机一样是一个运行时环境,核心功能包括:内存管理.程序集加载.安全性.异步处理和线程同步. CTS(Common Type System)通用类型系统,它把.Net中的类型分为2大类,引用类型与值类型..Net中所有类型都间接或直接派生至System.Object类型.所有的值类型都是System.ValueType的子类,而System.ValueType本身却是引用类型.
-
深入C# 内存管理以及优化的方法详解
在C# winform应用程序中,用以下代码可以进行一些内存使用的优化 复制代码 代码如下: using System;using System.Diagnostics;using System.Runtime.InteropServices;/// <summary>/// 包含各种内存管理.优化的方法/// </summary> public class Memory { private static readonly Version myVersio
-
C#字符串内存分配与驻留池学习分享
刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例.如下: 复制代码 代码如下: String s1 ="Hello";String s2 ="Hello"; //s2和s1的实际值都是Hellobool same = (object) s1 == (object) s2;//这里比较s1.s2是否引用了同一个对象实例//所
随机推荐
- asp+Ajax简单客户登陆验证
- ExtJS PropertyGrid中使用Combobox选择值问题
- 动态加载iframe
- angularJS 中$scope方法使用指南
- Linux常用命令last的使用方法详解
- IOS 头文件导入-@class注意事项总结
- 深入sql oracle递归查询
- Android编程之截屏实现方法(包括scrollview与listview)
- 在IIS下安装PHP扩展的方法(超简单)
- Android StickyListHeaders实现电话本列表效果
- C# 在PDF中创建和填充域
- Spring Boot整合MyBatis操作过程
- Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法
- Jquery实现网页跳转或用命令打开指定网页的解决方法
- php curl 获取https请求的2种方法
- Java synchronized关键_动力节点Java学院整理
- C#采用递归实现阶乘的方法
- Android开发技巧之ViewStub控件惰性装载
- Vue-Access-Control 前端用户权限控制解决方案
- 分享Git常用7大技巧和命令