问题列表 - 第40807页

为什么/ .Net允许我否定一个空的Nullable <T>?

我发现自己正盯着看起来与此类似的代码:

private double? _foo;

public double? Foo
{
    get { return _foo; }
    set { Baz(-value); }
}

public void Baz(double? value)
{
    // Perform stuff with value, including null checks
}
Run Code Online (Sandbox Code Playgroud)

在测试中,我有这个:

[Test]
public void Foo_test()
{
    ...
    Foo = null;
    ...
}
Run Code Online (Sandbox Code Playgroud)

我预计测试会失败(抛出),因为我认为你真的不能应用一元减号null,我认为这会在Foos setter中发生.然而,意想不到的事情发生,并测试并没有失败.

我可能会对这是为什么会发生这种情况做出明智的猜测,但我认为如果知道发生了什么事的人可以启发我会更好.

(并且在有人指出显而易见的事实之前:是的,这种否定应该被推到内部Baz.)

编辑并跟进

所以,我从乔恩斯基特和JaredPar,谁回答都将投入感谢如何,我的问题的一部分.经过一些谷歌搜索后,我发现Eric Lippert的这篇博客文章解释了"提升"的数学定义,这非常有意义.我还阅读了语言规范的相关部分,这些部分非常简单地解释了c#中提升的机制.

具体来说,我现在知道在提升过程的早期,对操作数进行空检查,如果操作数为null,则null将是应用运算符的结果(在我的情况下是一元减号).所以-nullnull.

现在,问题的"为什么"部分.如果我operator -在a上定义我自己的(一元)class(在其中我否定一个包装的值),并在空引用上调用此运算符,我将得到一个NullReferenceException.为什么"提升"表现不同? …

.net nullable

5
推荐指数
2
解决办法
643
查看次数

堆栈限制和线程之间的关系

  1. ulimit -s <value>和Linux实现中的堆栈大小(在线程级别)之间的关系是什么(或者对于任何操作系统而言)?

    <number of threads>*<each thread stack size>必须小于< stack size assigned by ulimit command>正当理由?

  2. 在下面的程序中 - 每个线程分配char [PTHREAD_STACK_MIN]并创建10个线程.但是当ulimit设置为10*PTHREAD_STACK_MIN时,它不会因中止而进行coredump.对于stacksize的一些随机值(远小于10*PTHREAD_STACK_MIN),它进行核心转储.为什么这样?

我的理解是stacksize表示进程总和中所有线程占用的堆栈.

线程功能

#include <cstdio>  
#include <error.h>  
#include <unistd.h>  
#include <sys/select.h>  
#include <sys/time.h>  
#include <sys/resource.h>  
using namespace std;        
#include <pthread.h>  
#include <bits/local_lim.h>  

const unsigned int nrOfThreads = 10;  
pthread_t  ntid[nrOfThreads];


void* thr_fn(void* argv)
{
    size_t _stackSz;  
    pthread_attr_t _attr;  
    int err;

    err = pthread_attr_getstacksize(&_attr,&_stackSz);
    if( 0 != err)
    {
        perror("pthread_getstacksize");
    }

    printf("Stack size - %lu, Thread …
Run Code Online (Sandbox Code Playgroud)

c++ linux stack pthreads process

6
推荐指数
1
解决办法
2762
查看次数

如何在linq-to-sql中返回一个匿名类型

我有以下伪代码,但想法是返回一个泛型类

 public static var getSeaOf(string user)
        {
            var periodsSettings = from p in sea
                                  where p.add_by == new Guid(user)
                                  select new { p.id, p.name };

            return var;
        }
Run Code Online (Sandbox Code Playgroud)

我在这里阅读 - 如何从使用LINQ to SQL的c#方法返回匿名类型,本案例的最佳解决方案是为返回类型创建一个类.

但我的问题是,如果我有数百个这样的函数,这是否意味着我需要有数百个类?

我希望有一个更通用的解决方案,谢谢你的帮助!!


我来看看

Silverlight - LinqToEntities - 如何返回匿名类型

但我不能在select new中指定类名,就像文章一样?

public static IEnumerable<retSea> getBskSeasonsOf(string user)
        {
            var periodsSettings = from p in sea
                                  where p.add_by == new Guid(user)
                                  select new retSea { p.id, p.name };

            return periodsSettings;
        }
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql c#-3.0 c#-4.0

6
推荐指数
1
解决办法
1560
查看次数

我如何有条件地渲染<f:facet>?

我希望能够从PrimeFaces面板元素有条件地省略页脚:

<p:panel header="some text">
    <f:facet name="footer">
        #{message}
    </f:facet>
    <!-- ... -->
</p:panel>
Run Code Online (Sandbox Code Playgroud)

我希望该rendered属性可以工作:

<p:panel header="some text">
    <f:facet name="footer" rendered="#{!empty message}">
        #{message}
    </f:facet>
    <!-- ... -->
</p:panel>
Run Code Online (Sandbox Code Playgroud)

但页脚仍然呈现,内容空白.它似乎facet没有rendered属性:http://www.jsftoolbox.com/documentation/help/12-TagReference/core/f_facet.html.

这样做的正确方法是什么?

jsf primefaces jsf-2

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

如何通过命令行安装iOS开发的开发人员证书/私钥和配置文件?

我正在为iOS应用程序项目配置自动构建服务器.我已经完成了大部分工作.现在,这是最后一轮.安全.

可以使用GUI轻松地将开发人员证书/私钥和配置文件安装到Keychain中.但是我希望通过命令行来实现这一点,甚至可以自动完成配置过程.通过命令行导出/导入证书,私钥,配置文件.

任何建议将非常感谢.

sdk command-line keychain ios

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

使用PHP计算Oracle中SELECTED行的数量

我正在为大学做这个项目,它基本上是一个电影数据库,对于一些查询,我需要知道选择了多少行.目前,有两种情况需要我:

  • 显示单个电影信息.我希望所选行的计数知道数据库是否包含用户选择的电影.或者有更好的解决方案吗?
  • 所选择的电影有类型,我需要知道有多少,以便我可以构建一个字符串,其中的类型被分隔,|而不会在字符串的末尾添加一个.

使用MySQL这很容易,我只是查询数据库并使用mysql_num_rows()oci_num_rows()对SELECT语句不起作用.

我在OCI/PHP中找到的唯一解决方案是:

if(is_numeric($mid) && $mid > 0) {
        $stid = oci_parse($db,
            'SELECT COUNT(*) AS NUM_ROWS
            FROM movies
            WHERE mid = '.$mid
        );

        oci_define_by_name($stid, 'NUM_ROWS', $num_rows);
        oci_execute($stid);
        oci_fetch($stid);

        if($num_rows > 0) {
            $stid = oci_parse($db,
                'SELECT title, year, synopsis, poster_url
                FROM movies
                WHERE mid = '.$mid
            );

            oci_execute($stid);

            $info = oci_fetch_assoc($stid);

            $stid = oci_parse($db,
                'SELECT COUNT(*) AS NUM_ROWS
                FROM genres g, movies_genres mg
                WHERE mg.mid = '.$mid.' AND g.gid …
Run Code Online (Sandbox Code Playgroud)

php sql oracle select

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

比较单词,还需要查找复数和ing?

我有两个单词列表,假设LIST1和LIST2.我想比较LIST1与LIST2以找到重复项,但它应该找到该单词的复数形式以及形式.例如.

假设LIST1有单词"account",而LIST2有单词"accounts,accounting"当我做比较时,结果应显示两个匹配单词"account".

我在PHP中做它并在mysql表中有LIST.

php regex mysql search

5
推荐指数
2
解决办法
590
查看次数

用<br />替换\n

我正在用Python解析文件中的文本.我必须替换所有换行符(\n),
因为这个文本将构建html-content.例如,这是文件中的一些行:

'title\n'
Run Code Online (Sandbox Code Playgroud)

现在我做:

thatLine.replace('\n', '<br />')
print thatLine
Run Code Online (Sandbox Code Playgroud)

我仍然看到带有换行符的文本.

python string replace newline

41
推荐指数
5
解决办法
11万
查看次数

Sharepoint 2010客户端对象模型 - 上载文档(409冲突)

我正在使用SP2010客户端对象模型上传到文档库,遵循Microsoft的主管:http://msdn.microsoft.com/en-us/library/ee956524.aspx#SP2010ClientOMOpenXml_Uploading

执行以下代码时,我面临HTTP 409(冲突)状态代码.

var clientContext = new ClientContext("http://myservername/sites/subsitename") { Credentials = LogonCredentials };
using (var fileStream = new FileStream(@"C:\Temp\Test.txt", FileMode.Open))
{
    Microsoft.SharePoint.Client.File.SaveBinaryDirect(clientContext, "/MyDocLibraryName/Test_FromClientOM.txt", fileStream, true);
} 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c# sharepoint-2010 http-status-code-409

8
推荐指数
2
解决办法
2万
查看次数

使用 bash 命令操作数据文本文件?

我得到了这个文本文件,称为stock.txt,文本文件的内容是:

pepsi;drinks;3
fries;snacks;6
apple;fruits;9
baron;drinks;7
orange;fruits;2
chips;snacks;8
Run Code Online (Sandbox Code Playgroud)

我需要使用 bash 脚本来显示此输出:

Total amount for drinks: 10
Total amount for snacks: 14
Total amount for fruits: 11
Total of everything: 35
Run Code Online (Sandbox Code Playgroud)

我的直觉告诉我我需要使用 sed、group、grep 和其他东西。
我应该从哪里开始?

bash

5
推荐指数
1
解决办法
7355
查看次数