小编Pat*_*Pat的帖子

如何在weka中使用JSON文件

我有一个JSON文件,想要在weka中打开数据,但是当我这样做时,我收到以下错误: 由于NullPointerException,weka无法加载JSON文件

邮件列表查看,有一些关于JSON的问题,但TL; DR除了我注意到"格式weka期望"中的JSON之外.当然,没有提到那种格式.即将在源头进行潜水,但我希望SO用户可以在我花太多时间在此之前提供帮助.

json weka

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

如何使用.NET配置文件(app.config,settings.settings)来保存和恢复所有应用程序数据?

虽然有很多关于.net配置文件的帖子,但我相信我的要求不允许提出任何解决方案(或者我不理解这个过程对我有用).

情况是我有一个Windows窗体应用程序(也可能是另一个应用程序),它绑定某些用户输入字段(例如IP地址),以及表单属性(窗口大小等)到应用程序设置(在属性中 - >设置区域).据我所知,这些设置与我项目的app.config文件中的设置相同,因此我应该能够使用System.Configuration.ConfigurationManager类来操作这些设置.

我想要做的是允许用户导出和导入所有已保存的设置.我认为保存和替换应用程序使用的配置文件会更容易,而不是对某些自定义对象进行序列化或使用INI文件.

将当前设置保存到指定文件相对容易:

internal static void Export(string settingsFilePath)
{
    var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
    config.SaveAs(settingsFilePath);
}
Run Code Online (Sandbox Code Playgroud)

但是,恢复配置文件以覆盖当前设置很困难.好像我可以像这样打开一个配置文件

var newConfig = ConfigurationManager.OpenExeConfiguration(settingsFilePath)
Run Code Online (Sandbox Code Playgroud)

但我没有看到如何完全替换当前配置中的所有设置与导入文件的设置.[编辑:此重载应该接收.exe的路径,而不是.config文件.如果调用代码未在配置文件中引用相同的程序集,则以这种方式打开exe文件可能会抛出ConfigurationErrorsException.

也许我只需要使用其他帖子中列出的方法来仅替换配置的一部分,而不是整个部分,但我不知道这将如何工作.

有任何想法吗?我是走正确的轨道,还是应该使用INI文件(或其他东西)?

.net import configuration export configuration-files

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

将PascalCase字符串拆分为单独的单词

我正在寻找一种方法将PascalCase字符串(例如"MyString")拆分为单独的单词 - "My","String".另一个用户提出了这个问题bash,但我想知道如何使用常规正则表达式或至少在.NET中.

如果你能找到一种方法来分割(并且可选地大写)camelCase字符串:例如,"myString"变成"my"和"String",可以选择大写/小写字符串中的一个或两个.

.net regex

7
推荐指数
3
解决办法
4370
查看次数

如何从WSDL创建Nullable字段/变量而不是额外的字段/变量

我使用wsdl.exe将WSDL文件和Types.xsd文件转换为C#文件.wsdl文件指定可选变量(minOccurs="0" maxOccurs="1"),生成的.NET类型通过创建两个字段来处理它 - 一个用于变量(例如status),另一个用于告知您是否指定了(statusSpecified).

有没有办法使用该wsdl工具只创建一个字段Nullable(即如果不是null,则指定)?(如果有帮助,我想我可以更改wsdl文件以获取nillable="true"元素.)

是否有一个不同的,更好的工具将从WSDL生成.NET类型?我使用的是.NET 4,因此如果生成的类型利用了Nullable类型等功能,那将非常有用.

注意:我刚刚意识到我正在使用.NET 2中的wsdl工具,并且较新的项目应该使用WCF来完成这些工作.WCF上的任何指针都可以获得我想要的东西吗?

关于WCF,本文指出了使用该svcutil工具的方向(已经在我的PATH中,所以我可以从文件夹中的命令行运行它与wsdl和xsd文件,如下所示:) svcutil *.wsdl *.xsd /language:C#.不幸的是,使用Nullable类型而不是xSpecified变量,svcutil似乎没有做得更好.

.net wcf wsdl

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

动态方法调用VB而不反射

我想使用方法调用格式化任何数字类型,如下所示:

Option Infer On
Option Strict Off
Imports System.Runtime.CompilerServices

Namespace GPR
    Module GPRExtensions
        <Extension()>
        Public Function ToGPRFormattedString(value) As String
            ' Use VB's dynamic dispatch to assume that value is numeric
            Dim d As Double = CDbl(value)
            Dim s = d.ToString("N3")
            Dim dynamicValue = value.ToString("N3")
            Return dynamicValue
        End Function
    End Module
End Namespace
Run Code Online (Sandbox Code Playgroud)

现在,从围绕Web的各种讨论(VB.Net相当于C#'动态'与Option Strict On,动态关键字相当于VB.Net?),我认为这个代码在传递数字类型时会起作用(double,Decimal ,int等).它没有,正如您在屏幕截图中看到的:

显示动态方法调用失败的异常

我可以显式地将参数转换为double然后.ToString("N3")工作,但只是在所谓的动态value参数上调用它失败.

但是,我可以使用以下代码在C#中完成它(使用LINQPad).(注意,编译器不允许您dynamic在扩展方法中使用参数,因此这可能是问题的一部分.)

void Main()
{
    Console.WriteLine (1.ToGPRFormattedString());
}

internal static class GPRExtensions
{
    public …
Run Code Online (Sandbox Code Playgroud)

vb.net dynamic

6
推荐指数
2
解决办法
2102
查看次数

如何在.NET中的较大集合中查找值序列(特别是字节)

我需要解析文件中的字节,以便在识别出某个字节序列后才获取数据.例如,如果序列只是0xFF(一个字节),那么我可以在集合上使用LINQ:

byte[] allBytes = new byte[] {0x00, 0xFF, 0x01};
var importantBytes = allBytes.SkipWhile(byte b => b != 0xFF);
// importantBytes = {0xFF, 0x01}
Run Code Online (Sandbox Code Playgroud)

但有没有一种优雅的方法来检测多字节序列 - 例如0xFF,0xFF - 尤其是在它开始得到误报匹配的情况下回溯?

.net byte sequence multibyte

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

使用已安装应用程序路径的自定义.net安装程序的简单示例

我只想创建一个自定义安装程序,以便在安装后运行代码,这需要安装的应用程序的路径.

我读到了如何创建自定义安装程序自定义操作,以及安装程序中可用的属性,但我不知道如何从自定义安装程序代码中访问这些属性.(甚至不要让我开始了解Windows Installer文档的复杂性.)

最佳答案是使用应用程序路径的自定义安装程序的完整代码.这是我到目前为止所得到的:

using System;
using System.ComponentModel;

namespace Hawk
{
    [RunInstaller(true)]
    public class Installer : System.Configuration.Install.Installer
    {
        public Installer()
        {

        }

        public override void Install(System.Collections.IDictionary stateSaver)
        {
            base.Install(stateSaver);

            try
            {
                //TODO Find out installer path
                string path = (string)stateSaver["TARGETDIR"]; // Is this correct?
                // Environment.CurrentDirectory; // What is this value?
                MyCustomCode.Initialize(path);
            }
            catch (Exception ex)
            {
                // message box to show error
                this.Rollback(stateSaver);
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

.net installer

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

根据CPU架构选择MSI的安装程序(x86 32位,x64 64位等)

我有一个安装程序(Visual Studio安装项目),它使用DIFxApp和Orca转换来安装驱动程序.问题是有两个DIFxApp合并模块 - 一个用于x86,另一个用于x64.如果我同时引用它们,则安装仅适用于64位计算机,而仅引用x86版本允许我在32位计算机上安装.

似乎唯一的解决方案是创建两个MSI(一个用于x86,一个用于x64),每个都引用正确的合并模块.我的问题是我应该如何创建一个安装程序,根据目标机器的处理器选择安装哪个MSI?

我和NSIS一起工作过一段时间,所以走这条路可能最容易.其他可能性是Inno-SetupdotNetInstaller.

类似的问题(但答案不充分):

installer inno-setup nsis x86-64 32bit-64bit

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

package.json (javascript npm) 或 requirements.txt (python pip) 等价于 ruby

Nodejs 的 npm 有 package.json 来存储依赖项(用 创建,用npm init修改npm install aPackage anotherPackage --save,并与 一起安装npm install)。

Python 的 pip 有 requirements.txt(在pip freeze > requirements.txt安装包pip install apackage anotherpackage并与 `pip install -r requirements.txt 一起安装后创建)。

Ruby 使用什么文件来存储依赖项?如果我使用 安装gem install sass jekyll etc...,如何将这些 dep 包含在文件中并将它们全部安装在新机器上?

相当于 npm 或 ruby​​gems 的 Python相当于 `pip install -r requirements.txt`的 gem 指向使用 Gemfile 的 bundler gem - 这是事实上的 Ruby 标准吗?

ruby pip package-managers npm

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

pycharm如何自定义意图(例如修改"After"代码)

Pycharm(以及其他intellij IDE)具有意图操作的想法.我想要自定义的是"插入文档字符串存根",以便它包含类型注释.我无法输入After部分或找到一个允许我修改它的菜单 - 这可能吗?如果没有,是否有另一个插件或允许这样修改的东西?

意图的偏好窗口

ide intellij-idea pycharm python-sphinx

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