小编Cha*_*rns的帖子

具有默认值的C#参数如何为空?

下面显示的代码显示了一个Get获取search默认值的字符串的方法:"".

显示具有默认值的参数的空值的图像

如果search具有非null的默认值且永远不会更改,那么该值可能如何为null ?

.net c# .net-4.0 c#-4.0 asp.net-mvc-4

3
推荐指数
1
解决办法
2999
查看次数

无法找到区域\帮助页面\*(例如 ApiDescriptionExtensions.cs)

最近的例行更新破坏了我的一个项目的编译。许多错误包括:Areas\HelpPage\ApiDescriptionExtensions.cs could not be found出现。在进行项目范围的搜索时,未找到对这些文件的引用。

根据源代码管理,packages.config 中发生了以下更改:

-   <package id="Microsoft.AspNet.Mvc" version="5.1.1" targetFramework="net45" />
-   <package id="Microsoft.AspNet.Razor" version="3.1.1" targetFramework="net45" />
-   <package id="Microsoft.AspNet.Web.Optimization" version="1.1.2" targetFramework="net45" />
-   <package id="Microsoft.AspNet.WebApi" version="5.1.1" targetFramework="net45" />
-   <package id="Microsoft.AspNet.WebApi.Client" version="5.1.1" targetFramework="net45" />
-   <package id="Microsoft.AspNet.WebApi.Core" version="5.1.1" targetFramework="net45" />
-   <package id="Microsoft.AspNet.WebApi.HelpPage" version="5.1.1" targetFramework="net45" />
-   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.1.1" targetFramework="net45" />
-   <package id="Microsoft.AspNet.WebPages" version="3.1.1" targetFramework="net45" />
+   <package id="Microsoft.AspNet.Mvc" version="5.1.2" targetFramework="net45" />
+   <package id="Microsoft.AspNet.Razor" version="3.1.2" targetFramework="net45" />
+   <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" …
Run Code Online (Sandbox Code Playgroud)

.net compiler-errors nuget

3
推荐指数
1
解决办法
2182
查看次数

如何制作小部件的QVector?

如何使一个QVector小部件,如动态数的(或其他容器类),QPushButtonQComboBox在Qt的4?

我在我的窗口类的构造函数中使用了以下内容:

QVector<QComboBox*> foo; // Vector of pointers to QComboBox's
Run Code Online (Sandbox Code Playgroud)

现在我想用一些可以动态改变的控件来填充它:

for(int count = 0; count < getNumControls(); ++count) {
    foo[count] = new QComboBox();
}
Run Code Online (Sandbox Code Playgroud)

我搜索了几个小时试图找到答案.Qt论坛提到了一个QPtrList,但Qt4中不再存在该类.我稍后尝试使用数组样式索引或.at()函数从每个文本中获取文本值.

我非常感谢声明,初始化,和填充的任何任何数据结构的一个例子QWidgets(QComboBox,QPushButton等)

qt qt4 qwidget qvector

2
推荐指数
1
解决办法
8132
查看次数

C++ STL容器:: clear :: swap

"清除"大型STL容器的最快方法是什么?在我的应用程序中,我需要处理大尺寸std::map,例如10000个元素.

我已经测试了以下3种方法来清除a std::map.

  • 每次需要时创建一个新容器.
  • 通话map::clear()方式.
  • 通话map::swap()方式.

它似乎::swap()给出了最好的结果.有谁可以解释为什么会这样,拜托?可以说使用map::swap()method是"清除"std :: map的正确方法吗?它是同其他STL容器,例如set,vector,list等.

    m_timer_start = boost::posix_time::microsec_clock::local_time();

//  test_map.clear();
    test_map.swap(test_map2);
    for (int i = 0; i< 30000; i++){
        test_map.insert(std::pair<int, int>(i, i));
    }    

//  std::map<int, int> test_map_new;
//  for (int i = 0; i< 30000; i++){
//      test_map_new.insert(std::pair<int, int>(i, i));
//  }     

    m_timer_end = boost::posix_time::microsec_clock::local_time();
    std::cout << timer_diff(m_timer_start, m_timer_end).fractional_seconds() << std::endl; // microsecond
Run Code Online (Sandbox Code Playgroud)

c++ dictionary stl std

2
推荐指数
1
解决办法
2660
查看次数

“无法打开数据库文件”(警告:宽错误)

除了 IIS 上的“无法打开数据库文件”之外,我似乎无法从 SQLite 中获得任何信息。我确信 SQLite 的错误消息和 Oracle 的错误消息一样粗暴。

  • Visual Studio 2010/IIS Express 中的预部署我可以读取和写入该文件。
  • 当我尝试使用部署到 IIS7.5 的相同 VS2010 项目来读取/写入它时,所有“创建”、“读取”和“写入”命令都失败。
  • 当我通过项目部署数据库文件并尝试读取它时,也会发生同样的情况。
  • 我已向Full control以下用户授予对 App_Data 和数据库文件的访问权限:IIS_IUSRSIUSRSDefaultAppPoolEveryone

我查看过: SQLite问题“无法打开数据库文件”(该问题自动消失为用户)和许多其他类似的问题,其中大多数是通过更改权限、更改为可写目录(App_Data应该是可写的,不是吗?)或者将相对路径更改为绝对路径(应该|DataDirectory|解析为)。

<connectionStrings>
    <add name="sqlite" connectionString="Data Source=|DataDirectory|\datatables.sqlite;Version=3;" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>Unable to open the database file</ExceptionMessage>
<ExceptionType>System.Data.SQLite.SQLiteException</ExceptionType>
<StackTrace>
at System.Data.SQLite.SQLite3.Open(String strFilename, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, Int32 maxPoolSize, Boolean usePool) at System.Data.SQLite.SQLiteConnection.Open() at AjaxSource.Models.Database.query(String sql, Dictionary`2 parameters) in D:\Tools\Dropbox\Projects\myprojects\AjaxSource\AjaxSource\Models\Database.cs:line …
Run Code Online (Sandbox Code Playgroud)

sqlite asp.net-mvc system.data.sqlite iis-7.5 asp.net-mvc-4

2
推荐指数
1
解决办法
5319
查看次数

无 nvarchar:“操作数数据类型 nvarchar 对求和运算符无效”

我有一个观点,即收益ProductNameQty以及其他列

定义为:

SELECT ProductName, Qty, /* etc. */ 
FROM SomeConcreteTable
Run Code Online (Sandbox Code Playgroud)

SomeConcreteTable定义ProductNameasnvarchar(40)Qtyas float

SELECT ProductName, SUM(Qty) 
FROM MyView
GROUP BY ProductName
Run Code Online (Sandbox Code Playgroud)

这会导致错误

操作数数据类型 nvarchar 对 sum 运算符无效

当视图不返回行时,WHERE修改视图的条件使其返回行时不会出错。

SELECT ProductName, SUM(COALESCE(vStarts.LotQty, 0))
FROM MyView
GROUP BY ProductName
Run Code Online (Sandbox Code Playgroud)

无论视图是否返回行都有效。

这篇文章中,Lieven Keersmaekers 说在查询中使用匿名类型有同样的问题,因为类型计数无法推断。

说得通。

但是,在我的情况下,不应推断类型——它们来自表。

不要问这样一个经常被滥用的问题,但这是一个错误吗?

当求和针对可空浮点数(而不是 varchar)时,没有行的求和会产生此错误,这似乎是意外行为。

Microsoft SQL Server 2012 (SP1) - 11.0.3482.0 (X64)

sql-server database-design inferred-type sql-server-2012

1
推荐指数
1
解决办法
3万
查看次数