Tag: C#的

查询的结果不能被枚举多次

我正在使用entity framework(EEF),并得到以下错误: “查询的结果不能一次枚举”。 我有一个包含ef数据上下文的存储库类。 然后我有一个控制器类(不要与MVC控制器混淆),其中包含存储库的一个实例。 到目前为止这么好…我有一个控制器上的search方法应该返回一个RadComboBoxItemData数组,用于填充Telerik RadComboBox控件。 public RadComboBoxItemData[] Search(int id, string searchText) { var query = context.Search(id, searchText); List<RadComboBoxItemData> result = new List<RadComboBoxItemData>(); foreach (var item in query) { RadComboBoxItemData itemData = new RadComboBoxItemData(); itemData.Text = ""; // assign some text here..; itemData.Value = ""; /*assign some value here..*/ result.Add(itemData); } return result.ToArray(); } […]

我如何在ForEach中使用Async?

使用ForEach时可以使用Async吗? 以下是我正在尝试的代码: using (DataContext db = new DataLayer.DataContext()) { db.Groups.ToList().ForEach(i => async { await GetAdminsFromGroup(i.Gid); }); } 我收到错误: 名称“Async”在当前上下文中不存在 using语句被封入的方法被设置为async。

如何正确和完全closures/重置TcpClient连接?

什么是closures或重置TcpClient连接的正确方法? 我们有软件与硬件进行通信,但有时出现问题,我们不再与它沟通,直到我们重新启动软件。 我已经尝试强制TcpClient.Close(),甚至将其设置为null,但不起作用。 只有完整的软件重新启动。 build议? 我不能使用using关键字,因为TpcClient只在一个位置定义,但在整个库中使用。 (在任何时候只有一个连接) 这是一个处理沟通的图书馆。 软件本身可以调用Controller类(表示硬件)的ResetConnection()方法。 它目前看起来像 if (tcpClient != null) { tcpClient.Close(); tcpClient = null; } 现在从我读的这里我应该使用tcpClient.Dispose()而不是“= null” 我会尝试一下,看看它是否有所作为。

为什么C#dynamictypes是静态的?

在读取和浏览dynamic关键字时,我在[MSDN](在使用typesdynamic(C#编程指南) )中find以下行: 该types是静态types,但dynamictypes的对象绕过了静态types检查。 在大多数情况下,它具有types对象的function。 静态在上面的含义是什么,它如何绕过静态types检查?

是否有可能在我的aspx视图中使用“使用”语句? (ASP.NET MVC)

这可能也适用于非MVC。 但是,是否可以在我的aspx视图中使用“using”语句? 原因是我有本地化string的页面引用资源文件。 而其中一些资源引用是相当长的 – 这实际上是混乱我的代码。 由于大部分时间这些资源都在一个特定于视图的命名空间中,所以我只想在页面的顶部放置一个'使用Resources.This.that'。 我似乎没有能够 – 有没有办法? 谢谢

使用属性树在Boost中创buildJSON数组

我正在尝试使用boost属性树创build一个JSON数组。 该文档说:“JSON数组映射到节点。每个元素是一个空名称的子节点。 所以我想创build一个名称为空的属性树,然后调用write_json(…)来获取数组。 但是,文档不告诉我如何创build未命名的子节点。 我试过ptree.add_child("", value) ,但是这样会产生: Assertion `!p.empty() && "Empty path not allowed for put_child."' failed 文件似乎没有解决这一点,至less不以我能想出的任何方式。 谁能帮忙?

如何使用RedirectToAction方法添加查询string值?

在asp.net mvc中,我使用这个代码: RedirectToAction("myActionName"); 我想通过querystring传递一些值,我该怎么做?

在C ++ 11中显式删除成员函数,是否仍然值得从不可复制的基类inheritance?

在C ++ 11中显式删除成员函数,是否仍然值得从不可复制的基类inheritance? 我谈论的是你私下inheritance一个具有私有或删除拷贝构造函数和拷贝分配(例如boost::noncopyable )的基类的技巧。 在这个问题上提出的优点是否仍然适用于C ++ 11? 我不明白为什么有些人声称在C ++ 11中做一个不可复制的类更容易。 在C ++ 03中: private: MyClass(const MyClass&) {} MyClass& operator=(const MyClass&) {} 在C ++ 11中: MyClass(const MyClass&) = delete; MyClass& operator=(const MyClass&) = delete; 编辑: 正如许多人指出的那样,为私有拷贝构造函数和复制赋值运算符提供空主体(即{})是错误的,因为这将允许类本身无误地调用这些运算符。 我首先开始不添加{},但遇到了一些链接器问题,使我添加了一些愚蠢的理由(我不记得的情况下)。 我知道更好知道。 🙂

C ++:如何将一个double到一个int?

可能重复: round()用于C ++中的float 我有一个double(称为x),意思是55,但实际上存储为54.999999999999943157,我刚刚意识到。 所以当我这样做 double x = 54.999999999999943157; int y = (int) x; y = 54而不是55! 这让我困惑了很久。 我如何才能正确回合?

'0'和NULL可以交替使用吗?

NULL通常用于指针的上下文中,并通过多个标准库(如<iostream> )中的macros定义为整数0 。 '\0'是空字符,并且是8位的零。 顺便说一下,8位零相当于整数0 。 在某些情况下,虽然它被认为是可怕的风格,但这两者可以互换: int *p='\0'; if (p==NULL) //evaluates to true cout << "equal\n"; 要么 char a=NULL; char b='\0'; if (a==b) //evaluates to true cout << "equal again\n"; 单独的SO已经有很多类似的问题。 例如,这个问题的最佳答案( NULL,'\ 0'和0之间的区别是什么 )说“他们不是真的是一回事”。 任何人都可以提供一个例子, NULL和\0不能互换(最好是一个实际的应用程序,而不是一个病态)?