自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

暗色调的博客

一个编程领域的懵懂自学者,人笨慢慢琢磨,长期看不懂别人写的文章资料,不知道怎么从条件A嗖的一下就转换到结果B了。

  • 博客(35)
  • 收藏
  • 关注

原创 对wpf 的入门记录总结----用户控件和自定义控件

在某些时候,您可能想要创建自己的控件。在其他UI框架中,这可能非常麻烦,但WPF使它非常简单,提供了两种完成此任务的方法:用户控件和自定义控件。用户控件WPF 用户控件继承UserControl类,其行为与WPF窗口非常相似:您有一个XAML文件和一个代码后置文件。在XAML文件中,您可以添加现有的WPF控件以创建所需的外观,然后将其与代码后置文件中的代码组合,以实现所需的功能。然后,W...

2019-09-28 20:02:27 260

原创 对wpf 的入门记录总结----面板控件 Grid、UniformGrid

5. GridGrid可能是面板类型中最复杂的。Grid可以包含多行和多个列。您为每行定义一个高度,为每列定义一个宽度,以像素的绝对数量、可用空间的百分比或自动方式,其中行或列将根据内容自动调整其大小。当其他面板不适合使用时, 使用Grid,例如,当您需要多个列并且经常与其他面板组合时。在最基本的形式中,Grid将简单地接受您放入其中的所有控件,将它们拉伸以使用最大可用空间并将他们堆叠:&l...

2019-09-28 13:50:59 747

原创 对wpf 的入门记录总结----基础控件textblock、label、 TextBox、CheckBox、RadioButton、PasswordBox、Image

控件可以有名字,也可以没有名字(多用于嵌套在其他控件内)。textblock 控件,最轻量级的文本显示,适用于单行或者多行,默认是不换行的,要换行需要设置TextWrapping="Wrap"。label 控件,也可以显示文本,超链接,图像 等等,所以比textblock重,它的主要目的是给其他控件相关联,当其他控件的标签。TextBox控件是WPF中最基本的文字输入控件。它允许...

2019-09-28 04:12:52 721

原创 对wpf 的入门记录总结----面板控件Canvas、WrapPanel、StackPanel、DockPanel

面板是WPF裡其中一個很重要的控件。面板扮演著裝載其他控件的容器的角色,同時也控制著頁面和視窗的佈局。由於一個視窗只允許一個子控件,因此面板經常會被使用於分隔空間,這樣每個空間就會有一個控件或者面板。wpf支持6种面板:1. Canvas这是一种简单的面板,与WinForms应用处理方式类似。该面板可以设置每个子控件的坐标,容许完全的布局控制。但是该面板不够弹性,因为你必须手动移动子控件...

2019-09-28 04:10:56 419

原创 在vs2017中尝试c#单元测试,Moq(二)

但是我发现传统的单元测试不太适合,因为要做爬虫和股票。网站怎么测试? 股票怎么测试?网络错误怎么测试?所以查了查资料,发现这世界上有一种称为模拟测试的技术,就是为了应对类似情况。方法using Moq;// Assumptions:public interface IFoo{ Bar Bar { get; set; } string Name { get; se...

2019-09-27 04:24:18 711

原创 在vs2017中尝试c#单元测试(一)

创建首先有两种方式来创建:第一种是新建项目:即包括core类型,也包括传统类型。第二种是在代码处直接右键:两种方法的区别在于: “创建单元测试”菜单命令仅适用于面向 .NET Framework(但不是 .NET Core)的托管代码 。框架单元测试的框架很多,Mstest是微软自带框架,第三方框架NUnit 或 xUnit,vs2017已经自带了,无需nuget安装。如果想自...

2019-09-27 02:20:41 1301

原创 Serilog 中的开始(一)

安装核心库是 Serilog,配合其他库组合使用。核心库支持 .NET 4.5+, Windows (8/WinRT/Universal+) and Windows Phone 8+.PM> Install-Package SerilogPM> Install-Package Serilog.Sinks.Console使用using Serilog;var log =...

2019-09-26 23:47:34 1780

原创 Serilog中的结构化数据(二)

serilog默认的方式是使用json来存储数据。但有个前提,对于基本,纯粹的类型,serilog能够自动识别。var count = 456;Log.Information("Retrieved {Count} records", count);其表现形式是{ “Count”: 456 }Booleans - boolNumerics - byte, short, ushort, ...

2019-09-26 19:53:34 870

转载 Serilog是 .NET 中最著名的结构化日志类库

在过去的几年中,结构化日志已经大受欢迎。而Serilog是 .NET 中最著名的结构化日志类库 ,我们提供了这份的精简指南来帮助你快速了解并运用它。内容设定目标认识Serilog事件和级别触发和收集结构化数据为过滤和关联添加事件标记大海捞针 [Finding needles in the haystack]下一步是什么?获得帮助设定目标你可能之前已经在项目中使用了Seril...

2019-09-26 17:46:14 14720 1

原创 c# list 删除,查找对象元素的方法

总体上可分为三大类:利用list自带的方法进行删查操作这里面又可以细分,一类是以对象为操作,一类是以索引为操作,还有一类是以委托为操作。比如find 查找系列,find、findindex、findall、findlast等等,是以委托为操作,返回值分别是对象,索引。// Create a list of parts. List<Part> parts = ne...

2019-09-26 02:03:51 4833

原创 c# 控制台程序怎么实现每天指定时刻定时

通常用的timer都是每隔一段时间,如果想指定时刻定时,大约有3类方法:轮询制度思路是仍然设定timer,比如1分钟,每次启动定时任务后,再去判断有没有到指定时间。 static void Main(string[] args) { System.Timers.Timer timer = new System.Timers.Timer(); ...

2019-09-25 23:22:02 5524

原创 c#中的list 数据去重,并在wpf中listbox控件文本对齐

开发的股票程序遇到两个问题:股票数据重复。listbox控件文件不能对齐。网上查询了一些资料,对listbox对齐的方法还是没搞明白。不过今天无意中进行数据去重的时候,listbox对齐了,原理没搞懂。。先记录下来。可能是在准备数据阶段填充了空格,又重写了tostring()方法,然后listbox会自动对齐?? List<IndusIndex> temp = new...

2019-09-24 21:01:04 872

原创 vs2017 中项目的publish,即“发布”到底是什么?

比如用c#编写了一个控制台程序,鼠标右键就会显示出发布,这和传统的release有什么区别?查了不少资料,个人理解windows程序提供给别人使用,主要是3种方法:最传统的把exe文件及文件夹提供给用户,这种方法最简单,缺点是容易出现:“缺少xx.dll”,一种解决方法是采用静态链接,把静态lib和exe一起打包。当然现在的win10系统因为集成了.net frameware框架,这种缺...

2019-09-21 18:41:06 6911 1

原创 《图像处理》读书笔记,第一章至第三章

数字图像处理方法的重要性源于两个主要应用领域:改善图示信息以便人们解释; 改善图示信息以便机器自动理解。一副图像可定义为一个二维函数f(x,y),其中x,y是平面坐标,而在任何一对空间坐标(x,y)处的幅值f称为图像在该点处的强度或者灰度。图像处理—>图像分析—>图像理解—>计算机视觉。从图像处理到计算机视觉这个连续统一体内并没有明确的界限,一种有用的范例是...

2019-09-17 20:04:52 471

原创 搭建vs2017+c#+appium+雷电模拟器自动化测试(二)

使用uiAutomatorViewer:在sdk目录下的tools文件夹。FindElementById和FindElementsById的区别在于前者只找一个,后者返回的是一个列表,如果没找到,前者抛出异常,后者是空列表。再尝试一下c#中的FindElementByXPath写法: static void Main(string[] args) { ...

2019-09-16 15:05:23 1724 1

原创 搭建vs2017+c#+appium+雷电模拟器自动化测试(一)

安装java的JDK设置JDK的环境变量,高级系统设置->环境变量->添加jdk/jre的安装路径,在命令行中验证是否设置成功。安装ANDROID SDK设置ANDROID的环境变量,高级系统设置->环境变量–系统变量和path安装appium的win 64位版本。android模拟器整体流程就是: 代码—> appium提供给语言的api—&...

2019-09-16 04:29:07 3535

原创 个人实践,如何在vs2017或vs2019中搭建python环境,并与c#混合编程(二)

通过 Visual Studio 安装程序选择和安装的数据科学和分析应用程序工作负载汇集了几种语言及其各自的运行时分发版本。⑥ 总结:微软已经给我们打包了这些东西,如果无需弄科学计算,也就不需要安装这些。SQL Server supports using both Python and R to do advanced analytics directly inside SQL Serve...

2019-09-13 11:42:37 8649

原创 个人实践,如何在vs2017或vs2019中搭建python环境,并与c#混合编程(一)

本来已经安装了anaconda,不过想更进一步,试试c#与python混合编程。我记得微软的vs2017,vs2019已经支持了python,如果能用一个IDE搞定全部,自然是最好的。首先理解vs2017编译器是怎么支持python的。① 按照微软的说法,Visual Studio 的“Python 环境”窗口(下方为其扩展后的加宽视图)具有一块用于管理所有全局 Python 环境、cond...

2019-09-13 10:17:42 18973 1

原创 sql server数据库疑难点及基础知识记录

在用vs2017自带的数据库localdb过程中,发现自己基础知识极度缺乏,稍微一点小问题都不知道如何处理与操作。而在网络上查询的效率很差,原因在于都不知道如何去找正确的答案,就算找到了答案,太多专有名词与概念也搞不清楚。必须系统性恶补一下数据库相关的基础知识。在数据库领域中,我们说的安装数据库,不是常规像安装qq一样安装个软件,尽管数据库确实有安装软件,但这个安装软件是对数据库管理的G...

2019-09-12 09:56:45 401

原创 尝试学习码云gitee,在vs2017上搭建自己的代码库

①注册注册成功,路人甲名字没被占用。右上角新建仓库issue: 如果项目开源,其他人使用过程中有疑问,在这里提交,相当于论坛。pull requests:如果项目开源,其他人修改了项目,在这里提交,由作者决定要不要合并他的代码。FORK: 从别人开放的远程仓库复制到自己的远程仓库。...

2019-09-12 09:52:01 1143

原创 个人实践搭建vs2017 + EF+ Sqlite 环境(二)

不过我在右侧的server 对象资源管理器找不到sqlite相关的选项。为什么?因为工作原理不同,sqlite不像是mysql、sqlserver等数据库一样具有单独的服务进程。基于sqlite的读写都是读写原始的磁盘文件,也就是说sqlite的操作完全是磁盘的IO操作。和我自己写file.open write本质上一样,它做了一大块工作。所以在server对象资源管理器找不到sqlit...

2019-09-12 05:21:30 862 1

转载 关于c#如何调用其他exe,特别是dos系统命令详解

https://blog.csdn.net/weixin_43145361/article/details/84313108 理论篇https://blog.csdn.net/weixin_43145361/article/details/88415602 实战篇老师就是不一样,写的真好,点赞~

2019-09-11 07:30:02 223

原创 个人记录在c#中调用c++ 的dll

C#是运行在CLR之上被托管的,而C++则并没有被托管。目前.Net平台中托管环境调用非托管环境有三种方法:①P/Invoke②C++ Interop③COM Interop这三种方法当中,C++ Interop是针对托管C++使用的方法(微软自己弄的一套C++,语法和传统c++很不一样),COM Interop则是针对Window软件开发而采用的方式。所以我们只剩下一种解决方案:也就是...

2019-09-10 13:10:14 112

原创 个人实践搭建vs2017 + EF+ Sqlite 环境(一)

个人尝试搭建,先去官方文档看。source packages:给学习感兴趣的人准备的,并不含二进制文件。setup packages:仅在开发者机器上安装,并且仅仅当需要visual studio的设计时组件时。binary packages:开发者用,获取所需的程序集二进制文件,用于在客户机上开发和部署应用程序(通过xcpoy)“bundle” packages:所有带bundle字样的...

2019-09-08 23:15:26 2291 2

原创 vs2017 个人初学怎么发布做好的console,asp.net,wpf等程序

网上的资料太乱太杂了,今天花了时间把微软的官方文档好好啃了一次。看得头昏脑胀,好歹有收获。成体系的整理一下。开发系统win10+vs2017+c#,学习开发项目有console,asp.net,asp.net core,web api,wpf等等。微软官方文档把发布程序分成了3个大方向:一 、 传统的应用程序类:首先debug调试正常后,解决方案配置改成release发布,再项目上右...

2019-09-08 12:29:28 537

原创 个人摸索使用vs2017自带数据库LocalDB(三)

前面说了数据提供程序建立在6个抽象基类之上,特定的数据库继承了这些基类。所以利用抽象基类以及对应的抽象接口,我们就能够构建灵活的代码库。如果现在做一个针对sel server的应用程序,下一次转向其他数据库平台。就不像特定数据库的数据提供程序那样硬编码,无需重新修改,编译程序。在抽象基类以及接口上,ADO.NET还提供了一个叫DbProviderFactorys的类,这个类也叫做数据提供工厂...

2019-09-08 05:03:37 2923

原创 entity framework 的知识记录

与数据库的通信模型。

2019-09-08 04:47:13 104

原创 Ado.net知识记录,个人摸索使用vs2017自带数据库LocalDB(二)

本来打算安装一个数据库用来学习,后来查询资料发现vs2017已经自带了数据库,囧。行吧,懒人发现自己更高兴了。vs2017自带的数据库叫做SQL Server Express LocalDB。属于express 系列中的本地运行版本,与应用程序一起在进程中运行,而不是作为服务运行。微软的SQL Server系列>SQL Server Express系列> Server Expre...

2019-09-07 11:47:01 1057 2

原创 Ado.net,linq to sql,EF等知识记录,避免混淆(一)

个人觉得微软的体系有个缺点,太庞杂了。随着新技术不断涌现,与老旧技术互相牵连,光理清楚它们之间的关系就有点费神。前面理了一段时间wcf,web api,core web api 的区别,头疼。现在开始理数据相关,包括Ado.net,linq to sql,linq to EF,entity framework 等等区别。ADO.NET定义:为支持同数据库系统进行交互,.net平台定义了许多...

2019-09-07 08:35:34 644

原创 个人实践第一个.net core web api程序

没有学过以前的asp.net ,直接学core新框架,查了不少资料,有点心得,记录下来core web api 跟以前老框架的比较起来还是有不少改变的。整个套路就是创建M(模型)、C(控制器)。模型用来申明要用的数据。控制器用来处理具体的操作,自定义各种需要的请求方法,读写数据库,主要代码就是在控制器类里完成。路由有两种方式: Convention-based (按约定), attrib...

2019-09-06 05:06:53 300

原创 学习wcf之后的web api,认识它们的区别。

刚学的时候,被微软.net的wcf和web api给弄糊涂了,查询了不少资料,大概搞清楚了它们的区别。wcf出现的时间比较早,用来统一之前的各种通信技术,也就是所谓的分布式架构。主要是为了实现传统的c/s架构。后来还出现了wcf rest 进化版本,也能做b/s架构wcf的优点:支持各种协议,包括不限于http,tcp,udp,命名管道,消息队列,自定义协议等等,支持各种服务器端和客户端,...

2019-09-06 02:15:47 748

原创 c# 基础知识、容易弄混淆的细节记录(二)

通常一个整数默认存储的是整数型int,即32位,如果想特殊指明,要显示指定。 比如 uint i =1234U ; long i=1234L; ulong i = 1234UL;否则编译器会默认1234属于int。通常一个小数默认存储的是浮点型double,即64位双精度,如果想特殊指明,要显示指定。 比如 folat f =1234.567F; float型是32位。c# 7...

2019-09-05 19:59:40 142

原创 学习wcf笔记,个人实践用vs2017构建第一个简单的wcf程序

wcf能完成分布式应用程序。构建方式可以通过标准类库或者wcf项目模板。整个wcf一般会创建3个程序集① wcf服务程序集: *dll文件,包含了希望向外部用户公开的整体功能的类和接口。②wcf 服务宿主: HOST模块,承载了wcf服务程序集的实体。③wcf 客户端: 通过中间代理访问服务功能的应用程序。首先学习通过最麻烦最细节的方式来做。第一步:新创建一个class lib,修...

2019-09-03 07:03:13 395

原创 个人实践在 c# vs2017中嵌入资源于控制台程序

资源这个东西在.net平台中包含很广,比如字符串啊,图标啊,各类文件(包括文本文件,二进制文件,图片文件等等),统称为资源。以前传统的方式,是把exe程序与需要的文件放在一起,利用file open等方式打开,读取。这种传统方法有一个小缺点,数据文件容易被损害、丢失或者被篡改。而且大量的文件也不方便移动、分发。有没有一种办法,能把所需要的文件和exe打包成一个集合?微软在.net平台就给...

2019-09-02 09:29:11 844

原创 c#调用外部exe的方法有简单,有复杂的。

最简单的就是直接利用process类using System.Diagnostics;Process.Start(" demo.exe");想要详细设置的话,就 public static void RunExeByProcess(string exePath, string argument) { //创建进程 System.Diagnostics.Process p...

2019-09-02 06:58:33 4304 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除