问题列表 - 第24272页

在LINQ中选择一个多维数组

我有一个任务,我需要将DataTable转换为二维数组.只需循环遍历行和列就可以轻松完成(参见下面的示例).

private static string[,] ToArray(DataTable table)
{
    var array = new string[table.Rows.Count,table.Columns.Count];

    for (int i = 0; i < table.Rows.Count; ++i)
        for (int j = 0; j < table.Columns.Count; ++j)
            array[i, j] = table.Rows[i][j].ToString();

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

我真正想做的是在LINQ中使用select语句来生成该2D数组.不幸的是,看起来在LINQ中没有办法选择多维数组.是的,我知道我可以使用LINQ来选择锯齿状阵列,但这不是我想要的.

我的假设是正确的,还是有办法使用LINQ来选择多维数组?

c# linq multidimensional-array

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

使用PHP重命名上传的文件但保留扩展名

我正在使用PHP将图像从表单上传到服务器,并希望重命名图像lastname_firstname.[原始扩展名].我目前有:

move_uploaded_file($_FILES["picture"]["tmp_name"], "peopleimages/" . "$_POST[lastname]" . '&#95;' . "$_POST[firstname]")
Run Code Online (Sandbox Code Playgroud)

当然,它没有扩展名重命名文件lastname_firstname.如何重命名文件但保留扩展名?

谢谢!

php file-upload

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

Spring - Transaction Readonly

只想要你对Spring的声明式事务管理的专家意见.这是我的设置:

  1. DAO层是使用Spring JdbcTemplate(No Hibernate等)的普通旧JDBC
  2. 服务层是具有声明性交易的POJO,如下所示 - save*, readonly = false, rollback for Throwable

通过以上设置,工作正常.但是,当我说get*, readonly = true,我看到我的日志文件中的错误说Database connection cannot be marked as readonly.对于服务层中的所有get*方法都会发生这种情况.

现在我的问题是:

A.我必须设置get*为只读吗?我的所有get*方法都是纯读取DB操作.我不希望在任何事务上下文中运行它们.上述错误有多严重?

B.当我删除get*配置时,我没有看到错误.更重要的是,我所有的简单get*操作都是在没有交易的情 这是要走的路吗?

C.为什么有人想要交易方法在哪里readonly = true?这种配置有什么实际意义吗?

谢谢!一如既往,非常感谢您的回复!

java spring transactions readonly

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

如何与TortoiseHG分支

我下载了TortoiseHg 1.0进行评估.对于我的生活,我无法弄清楚如何建立一个分支.它似乎理解分支(例如在其存储库浏览器中)但我似乎无法找到制作分支的方法.这似乎是一种基本功能,因为DVC经常被吹捧的好处是轻量级分支.

我用Google搜索并且找不到关于这个主题的讨论(至少对于最近的版本)所以我不得不假设我错过了什么,对吧?

更新:所以我在下面标记了Chad Birch的回答来回答"新分支"问题.正如他正确指出的那样,您执行提交,然后单击分支按钮以显示分支维护对话框,您可以在其中创建新分支.我有点希望他们为我们提供了一个上下文菜单选项.一旦你分支,下一个自然的问题是如何合并,这也不明显.事实证明,选项隐藏在存储库资源管理器中.您需要选择另一个分支的头部,右键单击,然后选择"与...合并".

mercurial tortoisehg

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

方式std :: stringstream可以设置失败/坏位吗?

我用于简单字符串拆分的常见代码如下所示:

inline std::vector<std::string> split(const std::string &s, char delim) {
    std::vector<std::string> elems;
    std::stringstream ss(s);
    std::string item;
    while(std::getline(ss, item, delim)) {
        elems.push_back(item);
    }
    return elems;
}
Run Code Online (Sandbox Code Playgroud)

有人提到这会默默地"吞噬"发生的错误std::getline.当然,我同意这种情况.但是我想到了,在实践中我可能会出现什么问题,我需要担心.基本上这一切归结为:

inline std::vector<std::string> split(const std::string &s, char delim) {
    std::vector<std::string> elems;
    std::stringstream ss(s);
    std::string item;
    while(std::getline(ss, item, delim)) {
        elems.push_back(item);
    }

    if(/* what error can I catch here? */) {
        // *** How did we get here!? ***
    }

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

A stringstream由a支持string,因此我们不必担心与从文件读取相关的任何问题.此处没有类型转换,因为getline只需读取直到它看到行分隔符或EOF.所以我们不能得到任何类似的错误boost::lexical_cast …

c++ stringstream getline

9
推荐指数
1
解决办法
4272
查看次数

为什么F#Set不能实现ISet <T>?

.NET Framework正在添加ISet<T>4.0版本的接口.在同一版本中,F#被添加为一流语言.F#提供了一个不可变的Set<'T>类.

对我来说,提供的不可变集合将实现ISet<T>接口似乎是合乎逻辑的,但事实并非如此.有谁知道为什么?

我的猜测是他们不想实现一个可变的接口,但我认为这种解释并不成立.毕竟,他们的Map<'Key, 'Value>类实现IDictionary,这是可变的.并且在实现仅部分适当的接口的类的框架中的其他地方存在示例.

我的另一个想法是ISet<T>新的,所以也许他们没有解决它.但这似乎有点薄.

ISet<T>通用(v.IDictionary,不是)的事实是否与它有关?

对此事的任何想法将不胜感激.

.net f# interface set

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

从NSIS脚本传递参数到java vm

我正在使用Eclipse开发我的第一个Java应用程序.我最近需要通过将-Xmx256M传递给JVM来调整分配的内存量.该应用程序当前打包为可运行的jar并使用NSIS进行安装.

一旦安装了jar文件,我就会遇到问题.这样做的常见做法是什么?这是我目前在我的nsi文件中做的事情:

CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" "$SYSDIR\javaw.exe" "-Xmx256M -jar $INSTDIR\Foo.jar"
Run Code Online (Sandbox Code Playgroud)

这导致在Windows上创建以下快捷方式:

C:\WINDOWS\system32\javaw.exe -Xmx256M -jar  C:\Program Files\Foo\Foo.jar 
Run Code Online (Sandbox Code Playgroud)

不幸的是,由于C:\ Program Files中的空格,这不起作用,如果我更改手动创建的链接以包含引号一切都很好:

C:\WINDOWS\system32\javaw.exe -Xmx256M -jar "C:\Program Files\Foo\Foo.jar"
Run Code Online (Sandbox Code Playgroud)

更新:交换-jar和-Xmx256M的顺序.但问题仍然存在.jar文件路径中的空格导致问题.我想我要么找到一种在命令中添加引号的方法,如手动更改目标时所示,或者完全改变我的方法!

java installer nsis

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

什么是ASP.NET中的模拟?

请解释非技术用户的模仿.然后请在ASP.NET的上下文中解释.冒充是好还是坏?我们是否在基于表单的身份验证的情况下使用它?

asp.net impersonation

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

如何在Perl中终止带有警报的系统命令?

我在Windows上运行以下代码段.从客户端读取后,服务器开始连续监听.我希望在一段时间后终止此​​命令.

如果我使用报警()内的函数调用main.pl,那么它会终止整个Perl程序(在这里main.pl),所以我称此系统通过将其放置在一个单独的Perl文件并调用这个Perl的文件(命令alarm.pl使用),在原有的Perl文件系统命令.

但是通过这种方式,我无法system()在原始Perl文件中或在被调用的Perl文件中获取此调用的输出.

有人可以让我知道终止system()呼叫的方式或以我上面使用的方式获取输出吗?

main.pl

my @output = system("alarm.pl");
print"one iperf completed\n";

open FILE, ">display.txt" or die $!; 
print FILE @output_1; 
close FILE;
Run Code Online (Sandbox Code Playgroud)

alarm.pl

alarm 30;
my @output_1 = readpipe("adb shell cd /data/app; ./iperf -u -s -p 5001");

open FILE, ">display.txt" or die $!; 
print FILE @output_1; 
close FILE;
Run Code Online (Sandbox Code Playgroud)

两种方式display.txt总是空的.

perl system alarm

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

令人困惑的Javascript类声明

我有一些第三方Javascript,有这样的语句:

FOO = function() {
   ...functions() ... 
   return { hash }
}();
Run Code Online (Sandbox Code Playgroud)

它按设计工作但我很困惑.任何人都能定义这个结构在做什么吗?创建一个类只是一种奇怪的方式吗?

javascript

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