Tag: C#的

我如何以编程方式生成C#中的按键事件?

我怎样才能以编程方式创build一个事件来模拟在键盘上按下的键?

SQL数据读取器 – 处理空列值

我正在使用SQLdatareader从数据库中build立POCO。 代码工作,除非在数据库中遇到空值。 例如,如果数据库中的FirstName列包含空值,则会引发exception。 employee.FirstName = sqlreader.GetString(indexFirstName); 在这种情况下处理空值的最好方法是什么?

将WPFcombobox绑定到自定义列表

我有一个ComboBox似乎并没有更新SelectedItem / SelectedValue。 ComboBox ItemsSource被绑定到ViewModel类的一个属性上,它将一大堆RAS电话簿条目列为一个CollectionView,然后我将SelectedItem或SelectedValue绑定到ViewModel的另一个属性(在不同的时间)。 我在Save命令中添加了一个MessageBox来debugging由数据绑定设置的值,但是SelectedItem / SelectedValue绑定没有被设置。 ViewModel类看起来像这样: public ConnectionViewModel { private readonly CollectionView _phonebookEntries; private string _phonebookeEntry; public CollectionView PhonebookEntries { get { return _phonebookEntries; } } public string PhonebookEntry { get { return _phonebookEntry; } set { if (_phonebookEntry == value) return; _phonebookEntry = value; OnPropertyChanged("PhonebookEntry"); } } } _phonebookEntries集合正在业务对象的构造函数中初始化。 ComboBox XAML看起来像这样: […]

sizeof(某个指针)总是等于四?

例如: sizeof(char*)返回4.像int* , long long* ,我试过的所有东西。 这有没有例外?

ASP.NET MVC:通过DataAnnotation进行自定义validation

我有一个具有4个属性的types为string的模型。 我知道你可以通过使用StringLength注解来validation单个属性的长度。 不过我想validation4个属性的长度。 什么是MVC的方式来做到这一点与数据注释? 我这样问是因为我是MVC的新手,想在做出自己的解决scheme之前正确地做到这一点。

pImpl成语在实践中是否真的被使用?

我正在阅读Herb Sutter的书“Exceptional C ++”,并且在那本书中我学习了这个pImpl习语。 基本上,这个想法是为一个class的private对象创build一个结构,并dynamic地分配它们来减less编译时间 (并且也以更好的方式隐藏私有实现)。 例如: class X { private: C c; D d; } ; 可以改成: class X { private: struct XImpl; XImpl* pImpl; }; 在CPP中定义如下: struct X::XImpl { C c; D d; }; 这看起来很有趣,但是我从来没有见过这种方法,在我工作过的公司,也没有见过源代码的开源项目。 那么,我想知道这个技术在实际中是否真的被使用了? 我应该在任何地方或谨慎使用吗? 这种技术是否被推荐用于embedded式系统(性能非常重要)?

外部内联

我明白,“内联”本身就是对编译器的一种build议,在其内容中可能会或可能不会内联函数,也会产生可链接的对象代码。 我认为“静态内联”的做法是一样的(不一定内联),但内联时不会生成可链接的对象代码(因为没有其他模块可以链接到它)。 “extern inline”在哪里适合图片? 假设我想用一个内联函数replace一个预处理macros,并且要求这个函数被内联(例如,因为它使用__FILE__和__LINE__macros,这个macros应该为调用者parsing而不是这个被调用的函数)。 也就是说,如果函数没有被内联,我想看到一个编译器或链接器错误。 “extern inline”是否这样做? (我假设,如果没有,除了坚持使用macros之外,没有办法实现这种行为。) C ++和C有区别吗? 不同的编译器厂商和版本有区别吗?

你在C ++中使用NULL或0(零)指针?

在C ++的早期,当它被locking在C之上时,你不能使用NULL,因为它被定义为(void*)0 。 除了void* ,你不能将NULL赋值给任何指针,这使得它无用。 在那些日子里,已经接受你使用0 (零)作为空指针。 到目前为止,我一直使用零作为空指针,但是我周围的人坚持使用NULL 。 我个人认为给一个现有的值赋予一个名字( NULL )没有任何好处 – 因为我也喜欢把指针作为真值来testing: if (p && !q) do_something(); 那么使用零更有意义(如果你使用NULL ,你不能逻辑上使用p && !q – 你需要明确地比较NULL ,除非你假设NULL是零,在这种情况下为什么使用NULL )。 有没有客观的理由更喜欢零(或反之亦然),或者只是个人喜好? 编辑:我应该添加(原本是说)与RAII和exception,我很less使用零/ NULL指针,但有时你仍然需要它们。

最优雅的方式来产生素数

什么是最优雅的方式来实现这个function: ArrayList generatePrimes(int n) 这个函数生成前n素数(编辑:其中n>1 ),所以generatePrimes(5)将返回一个ArrayList {2, 3, 5, 7, 11} ArrayList {2, 3, 5, 7, 11} 。 (我在C#中这样做,但我很满意Java的实现 – 或者其他类似的语言(所以不是Haskell))。 我知道如何写这个function,但是当我昨晚做了这个function的时候,并没有像我希望的那样好。 这是我想出来的: ArrayList generatePrimes(int toGenerate) { ArrayList primes = new ArrayList(); primes.Add(2); primes.Add(3); while (primes.Count < toGenerate) { int nextPrime = (int)(primes[primes.Count – 1]) + 2; while (true) { bool isPrime = true; foreach […]

如何计算一条线和横轴之间的angular度?

在编程语言(Python,C#等)中,我需要确定如何计算一条线和水平轴之间的angular度? 我认为一个图像描述最好的我想要的: 给定(P1 x ,P1 y )和(P2 x ,P2 y )什么是计算这个angular度的最好方法? 起源在前面,只有正象限被使用。