C#拾贝
C#拾贝
一、Linq
1、以...开头 StartsWith
- Repeater1.DataSource=con.Users.Where(r=>r.Nickname.StartsWith("李"));
- Repeater1.DataBind();
2、以...结尾 EndsWith
- Repeater1.DataSource=con.Users.Where(r=>r.Nickname.EndsWith("同"));
- Repeater1.DataBind();
3、模糊差(包含) Contains
- Repeater1.DataSource=con.Users.Where(r=>r.Nickname.Contains("苏"));
- Repeater1.DataBind();
4、个数 Count()或者Tolist().Count
- Response.Write("总个数:"+con.Users.Count());
- Response.Write("总个数:"+con.Users.Tolist().Count;
5、最大值 Max(r=>r.列名)
- Response.Write("总个数:"+con.Users.Tolist().Max(r=>r.Ids);
6、最小值 Min(r=>r.列名)
- Response.Write("总个数:"+con.Users.Tolist().Min(r=>r.Ids);
7、平均值 Average(r=>r.列名)
- Response.Write("总个数:"+con.Users.Tolist().Average(r=>r.Ids);
8、求和 Sum(r=>r.列名)
- Response.Write("总个数:"+con.Users.Tolist().Sum(r=>r.Ids);
9、升序 OrderBy(r=>r.列名)
- Repeater1.DataSource=con.Users.Tolist().OrderBy(r=>r.Ids);
10、降序 OrderByDescending(r=>r.列名)
- Repeater1.DataSource=con.Users.Tolist().OrderByDescending(r=>r.Ids);
11、分页 Skip()--跳过多少条 Take()--每页取多少条
- Repeater1.DataSource=con.Users.Tolist().Skip(0).Take(PageCount) 表示第一页跳过0条,每页取PageCount条
二、模拟键盘按键
注
通过键盘按键可以调用一些软件的快捷键,比如录屏、截图、语言
键位对照表:https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes 十六进制转十进制即可
如虚拟键值 ESC键对应十六进制为0x1B十进制为27
键盘键与虚拟键码对照表
-
- [DllImport("user32.dll", EntryPoint = "keybd_event")]
-
- public static extern void Keybd_event(
-
- byte bvk,//虚拟键值 ESC键对应的是27 16进制为0x1B
-
- byte bScan,//0
-
- int dwFlags,//0为按下,1按住,2释放
-
- int dwExtraInfo//0
-
- );
-
-
-
- void Start()
-
- {
-
- Keybd_event(27,0,0,0);
-
- Keybd_event(27, 0, 1, 0);
-
- Keybd_event(27, 0, 2, 0);
-
- }
三、WPF另类投屏方案
有时希望WPF中可以将某些一个页面不同窗口投到不同的屏幕上去,类似仿真操控台上多个屏幕分别输出到不同的显示器。这时候可以通过窗口抓屏的方式,一秒抓30次来模拟录屏,在将抓的图替换到需要的窗口,不同屏幕放不同窗口。
API: RenderTargetBitmap
四、WPF白板实现
API:inkcanvas
DrawingAttributes 可以设置笔触大小、颜色、平滑等
ColorDialog 作为调色盘
PreviewMouseWheel 事件滚轮控制笔触大小