Tag: c#

将1D数组索引转换为2D数组索引

我有2个arrays。 我想将第一个数组的索引转换为第二个数组。 有没有比我下面更好的方法呢? Array array1[9]; Array array2[3][3]; // Index is the index of the 1D array public Point convert1Dto2D(int index) { Point p = new Point(); switch (index) { case 0: px = 0; py = 0; break; case 1: px = 0; py = 1; break; case 2: px = 0; py = 2; […]

将Lync 2010与外部程序集成

如何将Lync 2010与使用所查找信息进行数据库查找并显示小弹出窗口的程序以及带有一些选项的几个按钮进行集成。 该程序已经与其他类型的电话系统一起运行,我需要一个Lync连接器。 我不想在Lync中放置选项卡或其他UI。

LINQ to Dynamics CRM查询本地过滤记录

我使用CRM 2011 RC(v5)LINQ-to-CRM提供程序编写了一个Linq to CRM查询。 我有一个本地声明的List ,我想加入CRM实体,我希望查询在CRM服务器上执行。 一个例子可能有帮助: MyObject myObject = new MyObject(); List myAccountsList = new List(); myAccountsList.Add(new myAccount() {AccountNumber = “123”}; myAccountsList.Add(new myAccount() {AccountNumber = “456”}; myObject.ListOfAccounts = myAccountsList; var accountsQuery = from ax in myObject.ListOfAccounts join a in orgContext.CreateQuery() on ax.AccountNumber equals a.account_number select a; foreach(var item in accountsQuery) { Console.WriteLine(“Id of […]

当类型已知时,是否有任何技术理由使用或不使用C#中的var?

似乎越来越多的C#代码我读取使用var类型标识符: foreach (var itemChange in ItemChanges) { //… } 而不是明确说明类型: foreach (ItemChange itemChange in ItemChanges) { //… } 即使这种类型已知。 我仍在使用后一个显式版本,因为我认为稍后阅读它会更快地了解变量的类型,而不是使用var。 但是有任何技术理由使用其中一个吗?

何时使用StreamReader.ReadBlock()?

我想知道一种情况Read(char [],int,int)无法返回请求的所有字符,而ReadBlock()按预期返回所有字符(例如当StreamReader与FileStream对象的实例一起工作时)。

是否可以在C#中合并字符串和DBNull?

我正在编写一个C#例程来调用存储过程。 在我传入的参数列表中,其中一个值可能合法地为空。 所以我以为我会使用这样的一行: cmd.Parameters.Add(new SqlParameter(“@theParam”, theParam ?? DBNull.Value)); 不幸的是,这会返回以下错误: CS0019:运营商’??’ 不能应用于’string’和’System.DBNull’类型的操作数 现在,这似乎已经足够清楚了,但我不明白其背后的基本原理。 为什么这不起作用? (通常情况下,当我不明白为什么某些东西不起作用时,并不是它不起作用……而是我做错了。) 我是否真的需要将其延伸到更长的if-then声明中? 编辑:(顺便说一句,对那些建议只使用“null”的人来说,它不起作用。我原来认为null也会自动翻译成DBNull,但它显然没有。(谁知道?))

如何连接多个IObservable序列?

var a = Observable.Range(0, 10); var b = Observable.Range(5, 10); var zip = a.Zip(b, (x, y) => x + “-” + y); zip.Subscribe(Console.WriteLine); 打印 0 – 5 1 – 6 2 – 7 … 相反,我想加入相同的价值观 5 – 5 6 – 6 7 – 7 8 – 8 … 这是合并100个有序异步序列的问题的简化示例。 加入两个IEnumerable非常容易,但我找不到在Rx中做这样的事情的方法。 有任何想法吗? 更多关于投入和我想要实现的目标。 基本上,整个系统是一个实时管道,具有通过fork-join模式连接的多个状态机(聚合器,缓冲区,平滑filter等)。 RX是否适合实现这些东西? 每个输入都可以表示为 […]

.NETentity framework插入与批量插入

当我使用我的xxxContext对象并向表发出几个Add时,然后SaveChanges()entity framework如何将其解析为SQL? 它只是循环插入xxx或者如果有数百行,它是否足够智能发出批量插入命令? 奖金问题:如果它没有发出批量插入有没有办法强制它,所以我的数据库性能不会被单独的插入杀死? 或者批量到临时表,然后像Upsert一样合并到原始表?

如何使WPF数据绑定重构安全?

所以我正在完成我的第一个WPF项目,我喜欢到目前为止看到的内容。 学习曲线比我预期的要多,但WPF非常酷。 但是,我正在努力解决数据绑定概念。 我遇到的一个具体问题是如何使我的数据绑定声明重构安全? 考虑这个例子。 public class MyDataObject { public string FooProperty { get; set; } } void Bind() { var gridView = myListView.View as GridView; gridView.Columns.Clear(); gridView.Columns.Add( new GridViewColumn() { Header = “FooHeader”, DisplayMember = new Binding(“FooProperty”) } ); List source = GetData(); myListView.ItemsSource = source; } 那么如果我将数据对象上的FooProperty重命名为其他内容呢? 数据绑定将无效,我不会收到编译错误,因为绑定是通过文本声明的。 有没有办法使绑定更安全一点?

如何获取堆栈帧的执行对象?

使用reflection时,可以使用System.Diagnostics.StackTrace获取调用堆栈(除了它可以是由JIT优化引起的粗略近似)并检查包含的StackFrame对象。 如何获取对堆栈帧中的方法正在执行的对象(this-pointer)的引用? 我知道我可以通过在堆栈框架对象上调用GetMethod()来获取MethodBase,但我正在寻找的东西是GetObject()(如果方法是静态的话,它会自然地返回null)。 看起来堆栈帧对象只能查询静态确定的信息,例如方法信息,原始文件等。 VS调试器知道(尽管它可能使用另一种获取调用堆栈跟踪的方法),因为可以双击调用堆栈窗口中的任何堆栈帧并查看本地和类字段的值。 编辑:澄清:我想要调用该方法的对象实例 。 即:如果在调用堆栈的某个地方的对象实例A上调用方法Foo(),并且它级联到我执行堆栈跟踪的方法,我想从我执行堆栈跟踪的位置获取对A的引用。 (不是方法库的声明类型)