首页 > 其他分享 >函数用法

函数用法

时间:2023-07-18 10:56:29浏览次数:30  
标签:ToList users int 用法 Add var ID 函数

//SkipWhile:找与第一个连续相同值的后面数据
int[] list = { 5, 5, 6, 5, 8, 43 };
var r = list.SkipWhile(i => i == 5).ToList();// result: 6, 6, 6, 42

//TakeWhile:获取符合当前条件数值之前的value
int[] list1 = { 1, 10, 40, 50, 44, 70, 4 };
var r1 = list1.TakeWhile(item => item < 50).ToList();// result = { 1, 10, 40 }

//zip:根据位置将两个系列中的每个元素依次配对在一起
int[] numbers = { 5, 3, 7 }; string[] words = { "five", "three", "seven", "ignored" };
IEnumerable<string> zip = numbers.Zip(words, (n, w) => n + "=" + w);

//ToLookup 扩展方法返回的是可索引查找的数据结构,它是一个 ILookup 实例,所有元素根据指定的键进行分组并可以按键进行索引
string[] array = { "one", "two", "three" };
var lookup = array.ToLookup(item => item.Length); // 根据元素字符串长度创建一个查找对象
var r2 = lookup[3];// // 查找字符串长度为 3 的元素 r2: one,two

//ToDictionary 字典转换
bool isRepeat = users.GroupBy(i => i.ID).Any(g => g.Count() > 1);//判断ID是否重复
if (isRepeat)
{
users = users.Where((x, i) => users.FindIndex(n => n.ID == x.ID) == i).ToList();
}
Dictionary<int, UserInfo> usersById = users.ToDictionary(x => x.ID);

//Concat 用来拼接两个集合,不会去除重复元素,示例:
var r3 = Enumerable.Concat(users, userinfos).ToList();// 通过 Enumerable 类的静态方法
var r4 = users.Concat(userinfos).ToList(); // 通过扩展方法

//Union 也是用来拼接两个集合,与 Concat 不同的是,它会去除重复项
var r5 = users.Select(t => t.ID).ToList().Union(userinfos.Select(t => t.ID)).ToList(); //1,2,3,4,5

//DefaultIfEmpty 空替换
var chars = new List<string>() { "a", "b", "c", "d" };
var r6 = chars.Where(s => s.Length > 1).DefaultIfEmpty("N/A").First(); // 返回"N/A"

//SequenceEqual集合相等, SequenceEqual扩展方法用于比较集合系列各个相同位置的元素是否相等。
int[] a1 = new int[] { 1, 2, 3 }; int[] b1 = new int[] { 1, 2, 3 };
bool r7 = a1.SequenceEqual(b1); //false

//EndsWith::判断字段由什么结束的。
string a3 = "can you \r\n speak chinese";
var r8 = a3.EndsWith("n");

//分割
var r9 = a3.Split("\r\n");

//Hashtable:一种松散类型的数据结构,因此您可以向Hashtable添加任何类型的键和值是弱类型。
Hashtable ht = new Hashtable();
ht.Add(1, "One");
ht.Add(2, 2);
ht.Add(3, "Three");

//Dictionary:dictionary是hashtable的类型安全实现,Keys和Values是强类型。
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "One");
dic.Add(2, "Two");
dic.Add(3, "Three");

//Lambda Return Type
var lambdaReturn1 = int? () => null;
var lambdaReturn2 = int? (string str) => string.IsNullOrEmpty(str) ? 100 : null;
var choose = object (bool bl) => bl ? 100 : "一百";
var aaaa = choose.ToString();

标签:ToList,users,int,用法,Add,var,ID,函数
From: https://www.cnblogs.com/wangtiantian/p/17562231.html

相关文章

  • 浮点指令之找main函数
    环境vs2019编译选项x86(32位)debug版本float指令练习//c++源码#include<stdio.h>intmain(intargc,char*argv){ floatf=(float)argc;//将int类型转换为float printf("%f",f); argc=(int)f;//在将float类型转换为int printf("%d",argc);......
  • 领略一下swift函数派发机制流程
    函数派发Swift中函数的派发机制有三种:静态派发,函数表派发,消息派发。静态派发静态派发是指在运行时不需要查表,直接跳转到方法进行执行。静态派发的性能也是最高的。c语言采用的是直接派发。函数表派发class类型采用函数表派发。当一个对象调用一个函数时,会从对象的头8字节找到......
  • C++笔记(2)——函数
    六.函数6.1函数基础一个典型的函数(function)定义包括:返回类型(returntype)、函数名字,由0或多个形参(parameter)组成的列表以及函数体。我们通过调用运算符来执行函数,形式为"()"。函数调用完成两项工作:一是用实参初始化函数对应的形参,二是将控制权转移给被调用函数。此时,主调......
  • 单分派泛函数
    当你的函数想根据不同的参数类型,做不同的操作的时候。python无法做重载,根据参数调用对应的签名函数。一般情况下只能if/elif/else来判断,时间久了,分支会特别多。使用functools.singledispatch装饰器可以把整体方案拆分成多个模块。甚至可以为你无法修改的类提供专门的函数。使用@s......
  • 字典,元组,元组内置方法、相关面试题 、 集合的内置方法 、字符编码 、文件操作 、函数
    字典的内置方法1.定义方式 d={'usernamne':"kevin"}#定义空字典d={}info=dict(username='kevin',age=18)#{'username':'kevin','age':18} print(info) #dic={#'name':�......
  • 文件内指针的移动 、内数据的修改 、函数(次函数非数学中的函数)(非常重要)
    文件的操作模式"""1.如果是t模式,read里面写的数字代表的是读取的字符个数2.如果是b模式,read里面写的数字代表的是读取的字节个数3.一个字节代表一个英文字符4.一个中文字符使用三个字节保存"""#withopen('a.txt','r',encoding='utf8')asf:#......
  • 凸优化5——凸函数的定义
    本节对应凌青老师9,10两课,主要讲了凸函数的四种定义及相关证明凸函数的四种等价定义-知乎(zhihu.com)ConvexOptimization——凸函数-知乎(zhihu.com)具体可参考这两篇注意,凸函数的前提是,该函数的定义域是凸集......
  • PostgreSQL 常用函数(一)
    函数(function)是一些预定义好的代码模块,可以将输入进行计算和处理,最终输出一个结果值。PostgreSQL函数可以分为两类:标量函数(scalarfunction)和聚合函数(aggregationfunction)。标量函数针对每个输入都会返回相应的结果,聚合函数针对一组输入汇总出一个结果。为了便于学习,可以将常见的......
  • mysql截取字符串函数 --九五小庞
    一、mysql截取字符串函数1、left(str,length)从左边截取length2、right(str,length)从右边截取length3、substring(str,index)当index>0从左边开始截取直到结束 当index<0从右边开始截取直到结束 当index=0返回空4、substring(str,index,len)截取str,从index开始,截取len......
  • 重构代码好方法之函数式编程
    在日常编码中,总会出现不同功能有相似之处,比如Session的连接与关闭啊,等等等等为了整理代码以获取眼睛的纯净,可以使用函数式编码步骤:重要的事说一遍第一步:定义函数式接口第二步:定义模板方法第三步:传递lambda表达式创建函数式接口@FunctionalInterfacepublicinterfaceDb......