C# Linq 一句话处理 2 个循环

List<User> users;Dictionary<int, int> hotUsers; // key 为 UserId 值,value 为热度值。如上:users是所有的用户列表,hotUsers是热门用户的UserId和热度。现在需要找出hotUsers的Username,传统做法是需要写2个循环来比较、查找。有了Linq,代码如下:hotUsers.Keys.Select(m => users.Find(n => n.UserId == m)?.Username)),一句话。配合?.轻松解决找不到的情况。相关阅读Dictionary用LINQ、Where为什么别人的Dictionary可用Where等Linq,我的不行关于CSharp值-LINQ、Where、Find无结果时,返回值如何?抛弃传统,用委托、Lambda、Linq取List中的项霸道的Lambda事件处理程序表达式小心List...
代码星球 代码星球·2023-04-16

C# 用 NPOI 处理 Excel 时,字体影响整个单元格分析

建立了一个Excel文件作为模板,其中第一行为模板行,设置了红色字体,在往其中填充数据时,将模板行复制到下面的各行,再在下面各行填充数据。现在想给第3行第1个单元格加粗,使用下面的代码://法一cell.Sheet.Workbook.GetFontAt(cell.CellStyle.FontIndex).Boldweight=800;//法二cell.CellStyle.GetFont(cell.Sheet.Workbook).Boldweight=800;上面两个方法都是一样的,就是获得Font,为其设置Boldweight,只不过一个是从Workbook发起,一个是从Cell发起。问题出现了:所有行的第1列都被加粗了。想了一下,可能是由于各个单元格共用一个Font造成的。于是尝试下面的代码:IFontfont=cell.CellStyle.GetFont(cell.Sheet.Workbook);font.Boldweight=boldWeight;cell.CellStyle.SetFont(font);试图通过SetFont来以克隆的方式,复制产生一个新的Font,但是结果依旧...

C# 自动识别处理类-反射示例

C#自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)C#自动识别处理类-利用反射根据类名称获得相应类C#自动识别处理类-自动获取类属性,并取值、其赋值C#自动识别处理类-反射示例反射可以使用字符串来调用相关类的相关属性、方法。反射的核心是要获得类型,假设我们在类内部使用反射,可以直接使用GetType()获得本类的类型。GetType().InvokeMember("Calculate_"+Key,BindingFlags.InvokeMethod,null,this,null);如上,调用本类中的Calculate_XXX方法,至于XXX是什么,由传入的Key决定。这其中有一个this,表示当前对象的方法(因为不是静态方法,所以需要对象)。如果不是调用方法,而是获得属性的话,使用类似如下:PropertyInfo[]pis=obj.GetType().GetProperties();//循环每一个属性foreach(varpiinpis){//pi.GetType()并不是指这这个属性的类型,而是指pi类型(每个继承自object的都有这个方法)。if(pi.Prop...

C# 中处理 JSON-属性应 public、无参数构造函数应该有

C#中处理JSON-使用DataContractJsonSerializerC#中处理JSON-属性应public、无参数构造函数应该有C#中处理JSON-字符串属性值转义C#中处理JSON-使用JavaScriptSerializer更简单C#中处理JSON-生成的JSON属性顺序是怎样的?C#中可以用一个类表示JSON,再利用相关技术把类转换成JSON格式,或者从JSON格式转换成类。在设计这个类时要注意:一、属性应该是public的,不管是get、set都应是public的,否则不会出现在JSON中。二、应该要有一个public的无参数的构造函数,否则会出现:无法序列化类型。C#中处理JSON-使用DataContractJsonSerializerC#中处理JSON-属性应public、无参数构造函数应该有C#中处理JSON-字符串属性值转义C#中处理JSON-使用JavaScriptSerializer更简单C#中处理JSON-生成的JSON属性顺序是怎样的?...

C# 自动识别处理类-自动获取类属性,并取值、其赋值

C#自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)C#自动识别处理类-利用反射根据类名称获得相应类C#自动识别处理类-自动获取类属性,并取值、其赋值C#自动识别处理类-反射示例PropertyInfo[]pis=obj.GetType().GetProperties();//循环每一个属性foreach(varpiinpis){//pi.GetType()并不是指这这个属性的类型,而是指pi类型(每个继承自object的都有这个方法)。if(pi.PropertyType==typeof(string)){//取值stringvalue=(string)pi.GetValue(obj,null);//赋值pi.SetValue(obj,newValue,null);}}obj就是我们的类实例。我们只介绍了string类型的取值、赋值,其他类型方法类似。GetProperties返回的数组,数组项顺序是和我们写的属性的顺序一样的,也就是说我们先写B,后写A,输出时也是先B后A,并不会去自动排序。C#自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)C#自动...

.NET、C# 用 ZXing 处理二维码、条形码(生成、识别)

下载ZXing.Net地址是:http://zxingnet.codeplex.com/releases/view/117068然后将对应版本 .dll 拖入项目中,再引用之。主要是用BarcodeWriter、BarcodeReader。生成二维码.NET 平台的代码始终要简单些。QrCodeEncodingOptionsoptions=newQrCodeEncodingOptions();options.CharacterSet="UTF-8";options.DisableECI=true;//ExtendedChannelInterpretation(ECI)主要用于特殊的字符集。并不是所有的扫描器都支持这种编码。options.ErrorCorrection=ZXing.QrCode.Internal.ErrorCorrectionLevel.H;//纠错级别options.Width=300;options.Height=300;options.Margin=1;//options.Hints,更多属性,也可以在这里添加。BarcodeWrit...

C# 中处理 JSON-使用 DataContractJsonSerializer

C#中处理JSON-使用DataContractJsonSerializerC#中处理JSON-属性应public、无参数构造函数应该有C#中处理JSON-字符串属性值转义C#中处理JSON-使用JavaScriptSerializer更简单C#中处理JSON-生成的JSON属性顺序是怎样的?添加引用如果是.NET 3.5 则需要添加两个引用(注意是引用,不是命名空间):System.ServiceModel.WebSystem.Runtime.Serialization如果是.NET4.0 则只需要添加一个引用:System.Runtime.Serialization核心类using System.Runtime.Serialization.Json;using System.IO;using System.Text;namespace Cftea{    public class JsonHelper    {&n...

霸道的 Lambda 事件处理程序表达式

传统的做法:publicForm1(){WebClientwc=newWebClient();wc.DownloadStringCompleted+=newDownloadStringCompletedEventHandler(wc_DownloadStringCompleted);}voidwc_DownloadStringCompleted(objectsender,DownloadStringCompletedEventArgse){thrownewNotImplementedException();}采用Lambda后:publicForm1(){WebClientwc=newWebClient();wc.DownloadStringCompleted+=(sender,ea)=>{};}是不是简单多了?而且VisualStudio会自动识别ea的类型。相关阅读C#3.0-Lambda...

C# 自动识别处理类-利用反射根据类名称获得相应类

C#自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)C#自动识别处理类-利用反射根据类名称获得相应类C#自动识别处理类-自动获取类属性,并取值、其赋值C#自动识别处理类-反射示例C#中,在应用工厂模式时,可能会使用如下代码:if(className=="C1"){c=newC1();}elseif(className=="C2"){c=newC2();}我们都不喜欢这样不断地if,有没有根据类的名称,直接就获得对应的类的呢?有。首先写几个类,用于演示namespaceCftea{publicabstractclassC{publicstringGreeting{get;set;}publicabstractstringGetFullGreeting();}publicclassC1:C{publicoverridestringGetFullGreeting(){returnGreeting+"www.benshu.com";}}publicclassC2:C{publicC2(){}publicC2(stringgreeting){Greeting=greeting;}...

C# 自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)

C#自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)C#自动识别处理类-利用反射根据类名称获得相应类C#自动识别处理类-自动获取类属性,并取值、其赋值C#自动识别处理类-反射示例如下获取多态实例(子类、派生类)的类名称(类型),而不是基类的名称:class1.GetType().ToString();顺便说一下:GetType()用于实例,返回这个实例的Type。typeof()用于类型,返回这个类型的Type。nameof()用于类型,返回这个类型的Name。C#自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)C#自动识别处理类-利用反射根据类名称获得相应类C#自动识别处理类-自动获取类属性,并取值、其赋值C#自动识别处理类-反射示例...

mysql Authentication plugin ‘caching_sha2_password’ cannot be loaded处理

最新部署的一台zabbixserver使用的PerconaTokuDB引擎(PerconaServerforMySQL8.x),该主机在进行数据库接时报错:Authenticationplugin‘caching_sha2_password’cannotbeloaded。网上查了下问题原因,MySQL8.0.11版本默认的认证方式是caching_sha2_password,而在MySQL5.7版本则为mysql_native_password。需要使用mysql_native_password密码进行连接。解决方式1:修改全局配置使用mysql_native_password认证方式,需要修改my.cnf文件,并重启服务生效(此参数不可动态修改,无法mysql>setglobaldefault_authentication_plugin=’mysql_native_password’修改)vimmy.cnf[mysqld]default_authentication_plugin=mysql_native_password解决方式...

hadoop启动报错处理

 util.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicable主要是依赖包版本过低的问题。首先要定位问题,出现该问题的原因主要是hadoop native下面的hadoop静态库的问题:libhadoop.so.1.0.0 原因一:网上有很多说法是版本默认64位而系统是 32位,验证一下:先看下系统版本:uname-r再看下  libhadoop.so.1.0.0库的版本file  libhadoop.so.1.0.0[root@masternative]#filelibhadoop.so.1.0.0libhadoop.so.1.0.0:ELF64-bitLSBsharedobject,x86-64,version1(SYSV),dynamicallylinked,notstripped可以看到并不是版本的问题。  原因二:其实是依赖库的问题对静态库查看下依赖:看下依赖是否都正常:lddlibhadoop.so.1.0.0./...
代码星球 代码星球·2023-05-06

数据处理开源工具-Volbx

Volbx是一款可用于数据处理的开源图形工具,拥有数据加载、过滤、选择筛选、可视化、xlsx与CSV格式导出等功能。基于C++/Qt编写,遵守LGPL开源协议。作者称该工具最初是为房地产评估而创建的。当项目结束时,作者删除了房地产计算部分,并保留基本数据处理的应用程序作为开源项目。功能特色:加载数据-打开xlsx及ods表格文件过滤数据-过滤面板可定义每栏的数据范围选择数据-用户可以选择主数据中的多行可视化数据-根据用户操作动态生成多种内置表格(直方图,线性图,分组图等)排列数据–每栏可以以升序、降序排列导出数据–选择组数据或关联数据后,可导出xlsx或CSV文件格式....

c语言高斯模糊源码,C++实现纯高斯模糊算法处理灰度图片

实现功能:C++语言实现纯高斯模糊处理灰度图像,不受图片格式限制算法实现://////程序功能:c语言实现纯高斯模糊处理灰度图像///系统win7,VS2010开发环境,编程语言C++,OpenCV2.4.7最新整理时间whd2016.9.9。//////源图像数据在内存的起始地址。///源和目标图像的宽度。///源和目标图像的高度。/// 通道数,灰度图像cn=1,彩色图像cn=3///sigma的平方是高斯函数的方差///1:能处理8位灰度和24位图像。需要分开进行,后面会合成一个程序// 以下为参考函数实现的整个过程//(1)建立工程,复制粘贴博客代码。//(2)添加malloc()和free()函数的头文件//(3)exp()函数的头文件//(4)修改Gasussblur中形参intsigma为floatsigma,更加符合实际情况//(5)配置OpenCV//(6)调用函数#include"stdafx.h"#include //malloc(),free()函数需要的头文件#include#include //包含...

串口服务器常见问题及处理技巧

1、不能打开串口确保网络工作状态的正常,能连通服务器查看工作状态看端口是否被占用。如果是用realport查看COMPORTOVERTCP/IP的配置是否正确,那就可以到注册表中删除相应的COM口重新映射。2、串口服务器如何进行配置在使用终端服务器之前,必须根据用户自己的运行环境和应用需求,把参数配置完毕后方可连入用户系统投入使用,这些参数主要包括网络参数,各串口的工作方式,打印服务和设备本身的管理信息等内容。串口服务器提供了串口,TELNET,浏览器和专用管理工具共四种方式进行本地或远程的设备管理,以适应于各种场合下的设备管理需求。3、为什么在使用虚拟串口传输文件时会丢数据?此时,主要是因为虚拟串口程序结束数据较快,而虚拟程序向远程设备发送数据时串口传输本身慢,所以虚拟程序会丢数据。这种情况可以通过在虚拟程序中的设置“模拟波特率”。...
首页上一页...34567...下一页尾页