Tag: C#的

如何停止闪烁的C#winforms

我有一个基本上像绘画应用程序的程序。 但是,我的程序有一些闪烁的问题。 我有我的代码中的以下行(应该摆脱闪烁 – 但不): this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true); 我的代码(减去形状的超级和子类如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Paint { public partial class Paint : Form { private Point startPoint; private Point endPoint; private Rectangle rect = new Rectangle(); private Int32 brushThickness = 0; […]

parsing一个TB的文本,并有效地计算每个单词的出现次数

最近我遇到了一个面试问题,以任何语言创buildalgorithm,应该做以下几点 阅读1 TB的内容 对该内容中的每个重复单词进行计数 列出十个最常出现的单词 你能让我知道最好的方法来创build一个algorithm吗? 编辑: 好的,假设内容是英文的。 我们如何才能find那个内容中最常出现的前10个单词? 我的另一个疑问是,如果故意给予唯一的数据,那么我们的缓冲区将会随着堆栈大小溢出而过期。 我们也需要处理。

调用Web API时,C#不受支持的授权types

我想从交stream#WPF桌面应用程序执行一个post到我的WebAPI。 不pipe我做什么,我都会得到 { “错误”: “unsupported_grant_type”} 这是我所尝试过的(我试过了我能find的所有东西): 另外开发web api目前活跃testing: http : //studiodev.biz/ 基地http客户端对象: var client = new HttpClient() client.BaseAddress = new Uri("http://studiodev.biz/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain")); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*")); 用下面的发送方法: var response = await client.PostAsJsonAsync("token", "{'grant_type'='password'&'username'='username'&'password'='password'"); var response = await client.PostAsJsonAsync("token", "grant_type=password&username=username&password=password"); 之后,失败了,我做了一些Googlesearch,并尝试: LoginModel data = new LoginModel(username, password); string json = JsonConvert.SerializeObject(data); await client.PostAsync("token", new […]

C#:事件或观察者界面? 优点缺点?

我有以下(简化): interface IFindFilesObserver { void OnFoundFile(FileInfo fileInfo); void OnFoundDirectory(DirectoryInfo directoryInfo); } class FindFiles { IFindFilesObserver _observer; // … } …我有矛盾 这基本上是我用C ++写的,但C#有事件。 我是否应该更改代码以使用事件,还是应该让它独立? 与传统的观察者界面相比,事件的优缺点有哪些?

C#接口inheritance到Abstract类

假设我有一个如下定义的接口: public interface IFunctionality { void Method(); } 我为抽象类实现了这个接口,如下所示: public abstract class AbstractFunctionality: IFunctionality { public void Method() { Console.WriteLine("Abstract stuff" + "\n"); } } 再次我有一个具体的类inheritance抽象类如下: public class ConcreteFunctionality: AbstractFunctionality { public void Method() { Console.WriteLine("Concrete stuff" + "\n"); } } 现在我有下面的代码, ConcreteFunctionality mostDerived = new ConcreteFunctionality(); AbstractFunctionality baseInst = mostDerived; IFunctionality interfaceInst = mostDerived; […]

如何在C#中将“+”添加到属性名称?

我如何在C#中声明属性或variables名称为fg+ ? public string fg+ { get; set; } 我得到fg+作为来自JSON的响应中的字段,如"fg+": "103308076644479658279" 。 我正在使用一个类反序列化它。 我如何从JSON中读取?

C#中双引号和单引号的区别是什么

C#中的双引号和单引号有什么区别? 我编写了一个程序来计算一个文件中有多less个单词 using System; using System.IO; namespace Consoleapp05 { class Program { public static void Main(string[] args) { StreamReader sr = new StreamReader(@"C:\words.txt"); string text = sr.ReadToEnd(); int howmany = 0; int howmany2 = 0; for(int i = 0; i < text.Length; i++) { if(text[i] == " ") { howmany++; } } howmany2 = howmany […]

重命名名称空间后,找不到为Main方法指定的“WindowsFormsApplication1.Program”

我有一个C#应用程序具有默认名称空间“WindowsFormsApplication1”。 我决定我想使用不同的命名空间,所以我重命名为“WindowsFormsApplication1”。 现在,当我编译时,我得到的错误:“找不到Main方法指定”WindowsFormsApplication1.Program“。 要重命名命名空间,我突出显示文件中的命名空间,然后按F2。 我如何解决这个问题,并改变项目中的实际名称空间。 我正在使用Visual C#2010 Express。

将成员函数从基类移动到派生类会导致程序无法正常运行

这个(制造)的问题最初是作为一个谜题,隐藏了一些可能帮助更快地看到问题的细节。 向下滚动以获得更简单的MCVE版本。 原始(a-la难题)版本 我有这段代码输出0 : #include <iostream> #include <regex> using namespace std; regex sig_regex("[0-9]+"); bool oldmode = false; template<class T> struct B { T bitset; explicit B(T flags) : bitset(flags) {} bool foo(T n, string s) { return bitset < 32 // The mouth is not full of teeth && 63 > (~n & 255) […]

为什么C#结构是不可变的?

我只是想知道为什么结构,string等是不可改变的? 是什么原因使他们不可变,其余的对象是可变的。 什么是被认为使一个对象不变的东西? 内存分配和释放可变和不可变对象的方式有什么区别吗?