如何将SQL数据库嵌入/附加到Visual C#中?

这是我第一次使用SQL,这可能是一个愚蠢的问题,但我做了一些研究,我不认为我找到了我正在寻找的东西。 我想要的是一种制作将在我的C#程序中使用的私有SQL数据库的方法。 我已经在SQL Server Express中创建了一个数据库,并将其连接到Visual Studio 2010。 SqlCommand DBAccess = new SqlCommand(); DBAccess.Connection = new SqlConnection( “Data Source = localhost;” + “Initial Catalog = My_Database;” + “Trusted_Connection = True”); 我可以将数据源嵌入到我的程序中,并将与其余解决方案一起编译吗? 关于该计划的一些额外背景; 这是一个程序,需要搜索数据库中的6个表,并在搜索字符串与特定字段匹配时输出DataRow的内容。 例如。 Field 1 Field 2 quick AA brown AA fox AB jumps AB over AA the AB lazy AB dog AA Search_String = […]

C#比较两个DateTimes

我有两个约会: DateTime date_of_submission = Convert.ToDateTime(DateTime.Now.ToString(“MM/dd/yyyy”)); DateTime _effective_date = Convert.ToDateTime(TextBox32.Text); 现在,自提交之日起,生效日期不得超过90天。 我怎么做这个比较? 想到的一种方法是将天数转换为字符串,然后比较dd,mm,yyyy并查看两个日期是否在彼此的90天内。 但我相信必须有一个更好的解决方案。

c#表达式中的闭包变量捕获问题

我有一个使用表达式树创建委托的函数。 在这个表达式中,我使用从传入函数的多个参数中捕获的变量。 实际的表达式树相当大,例如: Delegate GenerateFunction(T current, IList parents) { var currentExpr = Expression.Parameter(typeof(T), “current”); var parentsExpr = Expression.Parameter(parents.getType(), “parents”); var parameters = new List(); …. return Expression.Lambda(Expression.Block(new List { parentsExpr, currentExpr }, ….), parameters.ToArray()).Compile(); } 然后,我在将该函数传递给另一个要使用的函数之前,从另一个方法调用此方法。 完成所有操作后,我想访问在表达式树中更新的父项内容。 一切似乎都在编译,我的表达式看起来还不错,但是当我运行它时,我出现(虽然我不能确定)在访问parent变量时(在表达式/闭包内)获取空引用exception。 我想我想知道我做错了什么,或者这是否可行,以及了解发生了什么的提示。 我似乎无法在方法中找到任何悬挂的(?)局部变量,所以我想知道它们是否被捕获了? 谢谢,马克

好的做法是在方法中多使用一个RETURN语句吗?

可能重复: 为什么在方法结束时返回是一种好习惯 我想知道是否可以认为好的做法在方法中使用几个RETURN语句以及为什么。 如果没有,我想知道如何以不同的方式重写代码。 public string GetNominativeById(int? candidateId) { if (candidateId.HasValue) return repepositoryCandidate.GetById(candidateId.Value).Nominative; else return string.Empty; } } 有一个返回 public string GetNominativeById(int? candidateId) { string result; if (candidateId.HasValue) result = repepositoryCandidate.GetById(candidateId.Value).Nominative; else result = string.Empty; return result; } }

在C#中以函数方式遍历树

在c#,Traverse中考虑以下扩展方法: IEnumerable Traverse( this IEnumerable source, Func<T, IEnumerable> fnRecurse ); 此方法允许通过T定义的树递归,并且任何函数都会导致T返回其子节点。 现在考虑以下T的实现: class Node { public string Name; public List Children; } 我的目标是编写可能的最短函数,它将返回包含此树中每个节点的完全限定路径的IEnumerable。 就像是: var node = GetParentNode(); return node.Traverse( node => node.Children ) .Select( node => GetParentName(node) + “:” + node.Name ); 显然,向Node添加Parent属性会使问题变得微不足道。 相反,我想以某种方式在仿函数中构建我的父字符串。 我不认为这在C ++中会太难,但我不知道如何在C#中做到这一点。 有任何想法吗?

C#全屏控制台?

我已经看到Windows在更新video驱动程序时可以切换到非常基本的控制台界面,我也看到像Borland C ++这样的程序。 我真的很想知道如何使用C#中的控制台应用程序(或者如果你愿意的话,还可以使用VB.NET),我不介意使用P / Invoke(我打赌我必须!)。

C#覆盖公共成员并将其设为私有

可能? 你能改变任何 东西的访问权限吗?

为什么未自动初始化未分配的局部变量?

似乎没有办法在代码中使用未分配的局部变量或检查它们,因为编译器吐出Use of unassigned local variable错误。 为什么编译器在编译时不对这些变量使用default(T) ? 即使对值类型更难做,在这种情况下,引用类型也可以很容易地初始化为null ,对吧? 这是一些测试代码: public void Test ( ) { int x; string s; if ( x == 5 ) Console.WriteLine ( 5 ); if ( s != null ) Console.WriteLine ( “s” ); } 返回: Use of unassigned local variable ‘x’ Use of unassigned local variable ‘s’ 更新: […]

XML反序列化到XSD生成的类中的麻烦

我有一个相当详细的xml文件。 下面是顶级节点(我已经包含了椭圆,因为较低级别的节点都已经很好地形成并且正确地填充了数据): … … 我使用Visual Studio 2008命令提示符创建了一个xsd文件: xsd sample.xml 这会很好地生成xsd文件。 然后我使用以下命令从xsd自动生成类: xsd sample.xsd /classes 为了将xml文件反序列化为类对象,我在helper类中使用了read函数: public class XmlSerializerHelper { public Type _type; public XmlSerializerHelper() { _type = typeof(T); } public void Save(string path, object obj) { using (TextWriter textWriter = new StreamWriter(path)) { XmlSerializer serializer = new XmlSerializer(_type); serializer.Serialize(textWriter, obj); } } public T Read(string […]

如何将SQL日期转换为DateTime?

我的SQL数据库中有一个包含date类型的列。 如何将其转换为C# DateTime ,然后再转换回SQL date ?