Tag: C#的

从.NET应用程序捕获控制台输出(C#)

如何从.NET应用程序调用控制台应用程序并捕获控制台中生成的所有输出? (请记住,我不想先将这些信息保存在一个文件中,然后重新保存,因为我希望将它作为现场直播。)

有没有可能找出lambda的参数types和返回types?

给定一个lambda,是否有可能找出它的参数types和返回types? 如果是的话,怎么样? 基本上,我想lambda_traits可以用于以下方面: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long 背后的动机是,我想在接受lambda作为参数的函数模板中使用lambda_traits ,我需要知道它的参数types和函数内的返回types: template<typename TLambda> void f(TLambda lambda) { typedef typename lambda_traits<TLambda>::param_type P; typedef typename lambda_traits<TLambda>::return_type R; std::function<R(P)> fun = lambda; //I want to do this! //… } 目前,我们可以假设lambda只需要一个参数。 最初,我试图使用std::function作为: template<typename T> […]

为什么.NETstring是不可变的?

众所周知, String是不可变的。 String是不可变的, StringBuilder类是可变的吗?

如何以标准方式修剪前导/尾随空格?

有没有一个干净的,最好是标准的方法来修剪从C中的string的前导和尾随空白? 我会推出自己的,但我认为这是一个同样常见的解决scheme的常见问题。

获取Enum的值的属性

我想知道是否有可能获得枚举值的属性,而不是枚举本身? 例如,假设我有以下枚举: using System.ComponentModel; // for DescriptionAttribute enum FunkyAttributesEnum { [Description("Name With Spaces1")] NameWithoutSpaces1, [Description("Name With Spaces2")] NameWithoutSpaces2 } 我想要的是枚举types,产生2元组的枚举string值及其描述。 价值很简单: Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum)); foreach (int value in values) Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value); 但是如何获得description属性的值,来填充Tuple.Desc? 如果属性属于枚举本身,我可以考虑如何去做,但是我不知道如何从枚举值中得到它。

如何将JSON对象转换为自定义C#对象?

有一种简单的方法来填充我的C#对象与通过AJAX传递的JSON对象? //这是使用JSON.stringify从页面传递给C#WEBMETHOD的JSON对象 { "user" : { "name" : "asdf", "teamname" : "b", "email" : "c", "players" : ["1", "2"] } } // C#WebMetod接收JSON对象 [WebMethod] public static void SaveTeam(Object user) { } // C#类,它表示传递给WebMethod的JSON对象的对象结构 public class User { public string name { get; set; } public string teamname { get; set; } public string email { […]

我如何find数组的长度?

有没有办法find一个数组有多less个值? 检测我是否已经到达数组的末尾也将工作。

用C ++传递值还是传递常量引用更好?

用C ++传递值还是传递常量引用更好? 我想知道哪种更好的做法。 我意识到,通过不断的引用应该提供更好的性能,因为你没有做一个variables的副本。

在Windows窗体应用程序中实现键盘快捷方式的最佳方法?

我正在寻找一种在我的Windows窗体应用程序在C#中实现常用Windows键盘快捷键(例如Ctrl + F , Ctrl + N )的最佳方法。 该应用程序有一个主要的forms,托pipe许多儿童forms(一次一个)。 当用户点击Ctrl + F时 ,我想显示一个自定义search表单。 search表单将取决于应用程序中当前打开的子表单。 我正在考虑在ChildForm_KeyDown事件中使用这样的事情: if (e.KeyCode == Keys.F && Control.ModifierKeys == Keys.Control) // Show search form 但是这不起作用。 按下按键时,事件甚至不会启动。 解决办法是什么?

ObservableCollection在其中的项目更改时不会注意到(即使使用INotifyPropertyChanged)

有谁知道为什么这个代码不起作用: public class CollectionViewModel : ViewModelBase { public ObservableCollection<EntityViewModel> ContentList { get { return _contentList; } set { _contentList = value; RaisePropertyChanged("ContentList"); //I want to be notified here when something changes..? //debugger doesn't stop here when IsRowChecked is toggled } } } public class EntityViewModel : ViewModelBase { private bool _isRowChecked; public bool IsRowChecked { […]