随笔分类 - C#
摘要:环境: VS2017 Community Windows 10 Postgresql 9.6 安装Postgresql: https://www.postgresql.org/download/ 1.安装我们需要的Nuget Packages: 2.首先得安装一个vs的扩展工具,这样我们才能在ser
阅读全文
摘要:到现在为止,我们创建了一个简单的MVVM的例子,包含了实现了的属性和命令。我们现在有这样一个包含了例如textbox类似的输入元素的视图,textbox用绑定来和view model联系,像点击button这样的行为用命令来联系。view model和model在内部通信。 但是在上面的架构中有一个
阅读全文
摘要:应用不只是包含textboxs和labels,还包含actions,如按钮和鼠标事件等。接下来我们加上一些像按钮这样的UI元素来看MVVM类怎么演变的。与之前的UI相比,这次我们加上一个"Cal Tax"按钮,当我们点击这个依赖于“sales amount”的按钮时,它会计算税费并显示在同窗口内。
阅读全文
摘要:Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negative integers be palindromes? (ie, -1) If you are thi
阅读全文
摘要:Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below
阅读全文
摘要:Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Difficulty: Easy My submission 1 rt:64ms My submission 2 rt
阅读全文
摘要:之前的改进已经挺棒的,但是我们现在知道了后台代码的问题,那是否可能把后台代码全部去除呢?这时候就该WPF binding 和 commands 来做的事情了。 WPF就是以超吊的binding,commans和声明式编程而闻名的。声明式编程意思就是相比于全部用C#代码来写,我们也可以用XAML来表示
阅读全文
摘要:我觉得大部分开发者应该已经知道怎么去解决这个问题。一般都是把后台代码(GLUE code)移动到一个类库。这个类库用来代表UI的属性和行为。任何代码当被移到一个类库中时都可以被编译成一个DLL,然后可以在任何类型的.net项目中去引用它。所以接下来我们来创建一个非常简单的MVVM的例子在之后我们会升
阅读全文
摘要:首先要做的事情就是定义一个popup来显示我们需要展示的东西 这里使用的是用一个Listbox来做演示,也可以使用其他的控件或者改listbox的template。popup的staysopen代表失去焦点后还显不显示。listbox绑定到一个ObservableCollection来实时改变。 后
阅读全文
摘要:很多时候我们都希望通过水印来告诉用户这里该填什么样格式的数据,那么我们就希望有这样的一个控件。 为了方便起见,先定义一个依赖属性专门来存放水印中显示的字符串。 在引用中引用当前的命名空间 引入转换器 现在的预想是当用户输入字符时水印消失,字串为空时水印出现,可以用事件来做,但是显然不太合适,因此我们
阅读全文
摘要:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font
阅读全文
摘要:Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longes
阅读全文
摘要:命名管道是一种从一个进程到另一个进程用内核对象来进行信息传输。和一般的管道不同,命名管道可以被不同进程以不同的方式方法调用(可以跨权限、跨语言、跨平台)。只要程序知道命名管道的名字,发送到命名管道里的信息可以被一切拥有指定授权的程序读取,但对不具有制定授权的。命名管道是一种FIFO(先进先出,Fir
阅读全文
摘要:利用匿名属性可以用很简洁的语法来自动声明不可变(immutable)的元组(tuple)类型。 属性:在字段用来表示类型和对象的状态的前提下,希望状态不被随意的更改,字段一般应该设置为private,这也符合面向对象编程的数据封装,而可以通过方法来更改字段的值,这时候属性的出现简化了这些语法。 编译
阅读全文
摘要:CLR(Common Language Runtime):一个可由多种编程语言使用的"运行时"。 CLR的核心功能(内存管理,程序集加载,安全性,异常处理,线程同步等)可由面向CLR的所有语言使用。 托管模块(managed module):标准的32位windows可移植执行体(PE32)文件,或
阅读全文
摘要:装箱:将值类型转换成引用类型用到的机制。 1.在托管堆中分配内存。分配的内存量是值类型各字段所需的内存量,还要加上托管对所有对象都有的两个额外成员(类型对象指针和同步索引块)所需的内存量。 2.值类型的字段复制到新分配的堆内存。 3.返回对象地址。现在该地址是对象引用:值类型成了引用类型。 拆箱:获
阅读全文
摘要:1 private void Replace(string oldStr, string newStr, string file) 2 { 3 FileStream fs = File.OpenRead(file); 4 //to know if this file is text file or binary...
阅读全文
摘要:private void DisplayLogInfo(FileInfo _LastFile) { if (_LastFile != null) { StreamReader sr = null; try { ...
阅读全文
摘要:SOLID:单一责任原则(TheSingleResponsibilityPrinciple):当需要修改某个类的时候原因有且只有一个。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。开放封闭原则(TheOpenClosedPrinciple):软件实体应...
阅读全文
浙公网安备 33010602011771号