将List 中的ConvertAll的使用:List 中的元素转换,List模型转换, list模型转数组
一,我们了解下,list的工作原理
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ListDemo
{
class Program
{
static void Main(string[] args)
{
//list:原理也是数组机制,集合的容量
List<int> il = new List<int>();
Console.WriteLine(il.Capacity); // 在初始化是容量默认为0
for (int i = ; i < ; i++)
{
il.Add(i);
}
Console.WriteLine(il.Capacity); // 当第一次赋值的,容量为4
for (int i = ; i < ; i++)
{
il.Add(i);
}
Console.WriteLine(il.Capacity); // 当超越4时的,容量为4*2,以后以此类推 //list:原理也是数组机制,当在一开始赋值容量,超过则是根据你赋值的乘以2来增加容量
//这如果在初始化给List确定的容量,而不会出现容量增加,数组赋值到另一个数组的情况,适当list效率
List<int> il2 = new List<int>();
for (int i = ; i < ; i++)
{
il2.Add(i);
}
Console.WriteLine(il2.Capacity); // //输出6
il2.Sort();
Console.ReadKey();
}
}
}
综上总结:
1》List原理也是数组机制
2》List在初始化是容量默认为0,第一次扩容默认增加4,以后均已乘以2增长,在容量增加的同时,将就得数组数据复制到新的数组
3》你也可以在构造给list赋初始值,当在一开始赋值容量,超过则是根据你赋值的乘以2(3*2=6)来增加容量
4》如果在初始化给List确定的容量,而不会出现容量增加,旧数组复制值到另新数组的情况,提高list效率
二,转换代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class ListDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//将当前 List 中的元素转换为另一种类型,并返回包含转换后的元素的列表
List<string> ls = new List<string>() { "", "", "" };
List<int> li = ls.ConvertAll<int>(i => int.Parse(i));
var li2 = ls.Select(i => int.Parse(i)); //list模型转换
Test t = new Test();
t.a = ;
t.b = "";
List<Test> lt = new List<Test>();
lt.Add(t);
lt.Add(t);
lt.Add(t);
List<Test2> lst = lt.ConvertAll(x => new Test2
{
c = x.a.ToString(),
d = x.b
}); //list模型转数组
var ToSZ = String.Join(",", lt.ConvertAll(u => u.a).ToArray()); //list转object数组
List<Object> m = lt.ConvertAll(s => (object)s);
}
public class Test
{
public int a { get; set; }
public string b { get; set; }
}
public class Test2
{
public string c { get; set; }
public string d { get; set; }
}
}
将List 中的ConvertAll的使用:List 中的元素转换,List模型转换, list模型转数组的更多相关文章
- Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器
一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...
- 借助JavaScript中的Dom属性改变Html中Table边框的颜色
借助JavaScript中的Dom属性改变Html中Table边框的颜色 -------------------- <html> <head> <title>我是页 ...
- 借助JavaScript中的时间函数改变Html中Table边框的颜色
借助JavaScript中的时间函数改变Html中Table边框的颜色 <html> <head> <meta http-equiv="Content-Type ...
- Java中是否可以调用一个类中的main方法?
前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...
- linux 中部署ant编译的包中缺少问题
今天遇到在window上部署ant编译的包,能运行正常,但部署在linux中出现跳不进jsp中,出现404问题,后来经过排查在jsp中<%@taglib prefix="c" ...
- 如何使用免费控件将Word表格中的数据导入到Excel中
我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候, 这时我迫切地需要 ...
- Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)
今天重装系统,安装了新的Myeclipse后,导入之前的项目后,,出现了乱码问题.乱码问题主要是java类中的注释,而jsp页面中汉字却完好如初: 右键项目,查看项目的编码格式,UTF-8,把java ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- Java实现购物车功能:方式一:存放在session中.方式二:存储在数据库中
//将购物车产品加入到cookie中,方式同浏览记录.Java实现购物车,方式一(简易版):存储在session中.这种方式实现还不严谨,大家看的时候看思路即可.(1). JSP页面中,选择某一款产品 ...
随机推荐
- .NET : 使用代码性能分析工具
NET : CLR Profiler的使用 经常讲课的时候会提到值类型和引用类型,也会提到如何查看它们的大小.多次被朋友问到,如何真的想要知道到底每个方法分配了多少内存之类的问题,其实这可以通过CLR ...
- storm安装(3)storm本身的安装
(6)下载storm包放入home文件夹中, 这里我用的版本是storm-0.8.2.zip 添加权限 chmod +x storm-0.8.2.zip 进行文件的解压 unzip storm-0.8 ...
- 细节MARK
在刷vijos1046的时候遇到了一些细节,MARK一下 1.哲学之前有告诫我说,输出long long的数的时候,最好用cout,不然容易出现编译器的问题,今天算是领教了 2.对于数组赋值问题 me ...
- D13
=-=由于本人有极度强迫症啊.. 然后这个博客又不能改顺序.. 前几天由于台风是在宾馆写题..简直各种没有效率..所以今天就先草草写下题解,之后再完善吧 T1:字符串处理 c++的话,解决读空格继续读 ...
- 大数据时代,我们为什么使用hadoop
大数据时代,我们为什么使用hadoop 我们先来看看大数据时代, 什么叫大数据,“大”,说的并不仅是数据的“多”!不能用数据到了多少TB ,多少PB 来说. 对于大数据,可以用四个词来表示:大量,多样 ...
- 聊天工具mychat
python学习,自己写了个简单聊天工具mychat 最近在学习python,自己写了个最最简单的聊天工具mychatv0.1. 第一版,完成基本的聊天功能. GUI用的是自带的TKinter,用到的 ...
- Unicode(UTF&UCS)深度历险
Unicode(UTF&UCS)深度历险 计算机网络诞生后,大家慢慢地发现一个问题:一个字节放不下一个字符了!因为需要交流,本地化的文字需要能够被支持. 最初的字符集使用7bit来存储字符,因 ...
- Asp.Net统一前后端提示信息方案
Asp.Net统一前后端提示信息方案 目录 要解决的问题 自定义XML 前端弹框的实现 后端弹框的实现 扩展和整合 示例代码(不完整)及示例截图 示例下载 要解决的问题 减少弹框前后端代码量 增强 ...
- ubunt 命令行下链接VPN
Ubuntu命令行下VPN连接与使用 route add default dev ppp0 route add -net 192.168.2.0 netmask 255.255.255.0 ppp0 ...
- KingPaper初探 wamp下本地虚拟主机的搭建
在本地我们进行网站或系统开发时,因为我们本地的地址以localhost为主机名的 我们上传到服务器会有很多东西要修改 为了避免这些不必要的修改,我们可以在本地搭建虚拟主机 一下是在wamp下搭建虚拟 ...