Tag: .net

Linq2SQL“或/和”运算符(ANDed / ORed条件)

假设我们需要应用几个条件来选择一个名为“Things”的表(未知计数和性质) 如果条件已知,我们可以写 db.Things.Where(t=>foo1 && foo2 || foo3); 但是如果我们必须以编程方式构建Where条件,我可以想象我们如何应用ANDed条件 IQuerable DesiredThings = db.Things.AsQuerable(); foreach (Condition c in AndedConditions) DesiredThings = DesiredThings.Where(t => GenerateCondition(c,t)); ORed条件怎么样? 注意:我们不想执行union,unique或任何其他代价高昂的操作,我们希望生成一个查询,好像我们将它写成ad-hock 提前致谢。 加成: PredicateBuilder:动态编写表达式谓词

如何序列化List <List >?

框架是c#.net 4.6.2 我正在从XML代码生成自动XML类 当我自动生成时,它会自动转换为Array[][] 但我想用它作为List<List> 我确信我从Array到List的对话会导致一些序列化错误。 我认为这是关于获取和设置function。 所以我需要你的帮助来解决这个问题 这里是我编辑>粘贴特殊>粘贴XML作为类时自动生成的代码片段 /// [System.SerializableAttribute()] [System.ComponentModel.DesignerCategoryAttribute(“code”)] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)] public partial class OxFordDefinition_perGroup { private string _GroupDescField; private string _GroupSenseField; private string _GroupGrammerField; private OxFordDefinition_perGroup_perMainExample_perSubExample[][] _perMainExampleField; /// public string _GroupDesc { get { return this._GroupDescField; } set { this._GroupDescField = value; } } /// public string _GroupSense { get […]

如何延迟属性中的静态初始化

我创建了一个类,它是一个单例(第五个版本)和一个(dependency injection)工厂之间的交叉。 称之为“单声道工厂”? 它工作,看起来像这样: public static class Context { public static BaseLogger LogObject = null; public static BaseLogger Log { get { return LogFactory.instance; } } class LogFactory { static LogFactory() { } internal static readonly BaseLogger instance = LogObject ?? new BaseLogger(null, null, null); } } //USAGE EXAMPLE: //Optional initialization, done once when the […]

递归函数调用抛出StackOverFlowException

我要以递归方式调用函数。 但过了一会儿就抛出了StackOverFlowException。 当我使用Invoke(new Action(Start))方法时,它抛出相同的exception,但不会在很长一段时间内抛出,这比前一个短。 我怎样才能克服这个问题? 示例代码: private void Start() { // run select query mysql(selectQueryString.ToString()); msdr = mysql(); // is finished if (!msdr.HasRows) { this.Finish(); return; } // get mysql fields string[] mysqlFields = Common.GetFields(ref msdr); while (msdr.Read()) { // set lastSelectID lastSelectID = Convert.ToInt32(msdr[idFieldName].ToString()); // fill mssql stored procedure parameters for (int i = […]

在TextBox中插入整数值

我需要在C#Windows窗体应用程序(GUI)的TextBox中显示一个整数值。 我有一个int32值。 我找不到像TextBox那样采用int值的容器。 TextBox只接受字符串。 我如何输入演员表?

不允许在ListBox中取消选择/取消选择

有没有办法配置WPF ListBox ,以便取消选择/取消选择项目? 总是选择一个项目? 我的ListBox绑定到ObservableCollection 。

我可以使用null条件运算符而不是经典事件提升模式吗?

C#6.0添加了这个新的?. 现在允许调用这样的事件的运算符: someEvent?.Invoke(sender, args); 现在,根据我的阅读,这个运算符保证someEvent被评估一次。 使用这种调用而不是经典模式是否正确: var copy = someEvent if(copy != null) copy(sender, args) 我知道某些情况下上面版本的模式需要额外的锁,但让我们假设最简单的情况。

获取NetworkStream中可用的数据长度

我希望能够从C#中的TCP网络流中获取可用数据的长度,以便在从网络流中读取之前设置缓冲区的大小。 有一个NetworkStream.Length属性但它尚未实现,我不想为缓冲区分配一个巨大的大小,因为它会占用太多空间。 我做这件事的唯一方法是在数据传输之前与另一个告诉大小,但这似乎有点混乱。 这对我来说最好的方法是什么。

ThreadState属性有什么价值?

这个问题让我想到了.NET等价物。 Thread类的ThreadState属性有什么价值? 在这个代码示例中: if (someThread.ThreadState != System.Threading.ThreadState.Running) { someThread = new Thread(SomeMethod); someThread.Start(); } someThread的ThreadState属性可以切换到if和if的代码之间Running ,对吗?

如何递归查询Winform的所有Childcontrols?

我使用Windows窗体。 如何以递归方式查询具有特定类型的Form的所有子控件? 在SQL中,您将使用selfjoin来执行此操作。 var result = from this join this ???? where ctrl is TextBox || ctrl is Checkbox select ctrl; 我也可以在LINQ中这样做吗? 编辑: LINQ支持连接。 为什么我不能使用某种自我加入?