小编Fil*_*urt的帖子

通过引用/值传递 - 简单的例子

我知道这个问题已经解决了很多次 - 但我的Java/C++知识太弱了我几乎无法理解答案:-( ...我真正喜欢的只是一个非常简单的例子.

在C++中,我可以编写以下内容:

void func()
{
  int x = 3;
  add_one(x);
  // now x is 4.
}
void add_one(int &var)
{
  var++;
}
Run Code Online (Sandbox Code Playgroud)

我现在想看到的是用java实现相同效果的最简单方法.

java

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

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

拆分并连接字符串数据的多个逻辑"分支"

我知道关于排列列表的问题有几个类似的措辞问题,但它们似乎并没有真正解决我正在寻找的问题.我知道有办法做到这一点,但我画了一个空白.我有一个类似于这种格式的平面文件:

Col1|Col2|Col3|Col4|Col5|Col6
a|b,c,d|e|f|g,h|i
. . .
Run Code Online (Sandbox Code Playgroud)

现在就是诀窍:我想创建这些行的所有可能排列的列表,其中行中以逗号分隔的列表表示可能的值.例如,我应该可以IEnumerable<string>将上面的代表表示为行:

IEnumerable<string> row = new string[] { "a", "b,c,d", "e", "f", "g,h", "i" };
IEnumerable<string> permutations = GetPermutations(row, delimiter: "/");
Run Code Online (Sandbox Code Playgroud)

这应该生成以下字符串数据集合:

a/b/e/f/g/i
a/b/e/f/h/i
a/c/e/f/g/i
a/c/e/f/h/i
a/d/e/f/g/i
a/d/e/f/h/i
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎优雅地适合递归方法,但显然我有一个星期一的坏情况,我不能完全围绕如何接近它.一些帮助将不胜感激.应该是GetPermutations(IEnumerable<string>, string)什么样的?

c# recursion

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

设备上的媒体系列格式不正确.SQL Server无法处理此媒体系列

我试图在SQL服务器中恢复.BAK但收到以下错误:

Msg 3241,Level 16,State 7,Line 1设备'c:\ glyn\JA.bak'上的媒体系列格式不正确.SQL Server无法处理此媒体系列.消息3013,级别16,状态1,行1 RESTORE DATABASE异常终止.

我尝试使用2012年,2008年甚至2005年进行恢复,但没有任何作用,我使用了以下查询并通过任务>>备份但没有任何作用,这是我的SQL:

RESTORE DATABASE JA FROM DISK='c:\glyn\JA.bak'
Run Code Online (Sandbox Code Playgroud)

有没有人有什么建议?我已经读过bak可能已损坏,它是由另一位正在研究该项目的DVD开发人员发送给我的.

sql-server backup database-restore database-backups

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

每台计算机应用程序的一个实例,如何?

我试图让我的应用程序只在计算机上运行一次,我的应用程序需要通信到web服务,所以让它运行不止一次是不好的,目前我正在使用Mutex:

MyMsg := RegisterWindowMessage('My_Unique_App_Message_Name');
Mutex := CreateMutex(nil, True, 'My_Unique_Application_Mutex_Name'); 
if (Mutex = 0) OR (GetLastError = ERROR_ALREADY_EXISTS) then
exit;
Run Code Online (Sandbox Code Playgroud)

目前这可以限制每个用户的1个应用程序实例,但我的应用程序正在Windows服务器环境中使用,其中有20个用户同时进入,所以我需要严格要求每个服务器只运行一次,我的我试图做的是声明Mutex作为全局互斥,但我没有这样做,当我做下一个代码它根本不起作用.

 MyMsg := RegisterWindowMessage('My_Unique_App_Message_Name');
 Mutex := CreateMutex(nil, True, 'Global\My_Unique_Application_Mutex_Name'); 
 if (Mutex = 0) OR (GetLastError = ERROR_ALREADY_EXISTS) then
 begin
 exit
Run Code Online (Sandbox Code Playgroud)

我做错了什么?有没有其他可靠的方法不让我的应用程序的第二个实例运行?

delphi mutex

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

有没有办法解决设计时伪错误或让IDE忽略它们?

我有一个来自WPF扩展工具包的DataGrid,其中有几列类似于以下内容:

 <xcdg:Column Title="Description" FieldName="Description" Visible="{Binding Source={x:Reference filterDescription}, Path=IsChecked, Converter={StaticResource FilterVisibility}}" />  
Run Code Online (Sandbox Code Playgroud)

问题是这些列中的每一列都显示Visibility属性的"对象引用未设置为对象实例"的设计时错误.Intellisense看到Visibility属性就好了.一切都是功能性的,所以它并没有真正伤害任何东西,但是我有26个这样的伪造错误,它有时会让真正的问题变得痛苦.

无论如何要么使Visual Studio 2012关闭这些错误,或者某种程度上说服IDE确认它实际上是智能感知的这个属性是好的吗?我错过了一些特殊的设计时参考吗?

c# wpf datagrid visual-studio-2012

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

扫描仪不会扫描负数

我正在尝试使用Java中的Scanner类扫描负数.

我有这个输入文件:

1

-1,2,3

我的代码如下:

    Scanner input = new Scanner(new File("data/input.txt"));
    int i = input.nextInt();
    input.useDelimiter(",|\\s*"); //for future use
    int a = input.nextInt();
    System.out.println(i);
    System.out.println(a);
Run Code Online (Sandbox Code Playgroud)

我的预期输出应该是

1

-1

相反,我得到一个错误(类型不匹配).

当我做

String a = input.next();
Run Code Online (Sandbox Code Playgroud)

代替

int a = input.nextInt();
Run Code Online (Sandbox Code Playgroud)

我不再得到错误而是得到了

1

-

java java.util.scanner

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

为什么我不能在Tuple.Create中使用lambda表达式?

我知道编译器可以从lambda表达式转换为Predicate.

例如:

Predicate<int> p = x => true;
Run Code Online (Sandbox Code Playgroud)

很好.

但是当我想创建一个包含谓词的元组时.我试着这样做(简化版):

Tuple<Predicate<int>> t;
t = Tuple.Create(x => true);
Run Code Online (Sandbox Code Playgroud)

我收到了编译错误:

无法从用法推断出方法'System.Tuple.Create(T1)'的类型参数.尝试显式指定类型参数.

我的问题是这是一个错误,这里的歧义在哪里?

(我知道我可以通过强制转换修复它:t = Tuple.Create((Predicate<int>)(x => true)); 但是我想理解为什么第一种方式不好,而且我也不想进行转换以节省输入:)

c# lambda delegates tuples predicate

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

是否可以将azure队列消息发送到端点

是否可以将天蓝色队列消息发送到端点URL

azure azure-queues

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

动态CRM"CrmServiceClient"无法使用Active Directory身份验证模式进行连接

我正在尝试从asp.net Web Project连接内部Dynamic CRM 2016.我正在使用CrmServiceClient方法与Active Directory身份验证模式.

我得到以下异常.

{"无法从程序集'Microsoft.IdentityModel.Clients.ActiveDirectory,Version = 3.10.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'加载类型'Microsoft.IdentityModel.Clients.ActiveDirectory.PromptBehavior'.":"Microsoft.IdentityModel. Clients.ActiveDirectory.PromptBehavior"}

new CrmServiceClient(
    new System.Net.NetworkCredential("adminuser", "pass", "domain"), 
    Microsoft.Xrm.Tooling.Connector.AuthenticationType.AD, 
    "http://sample.com", "4466", "DEV", useUniqueInstance:false, 
    useSsl:false)
Run Code Online (Sandbox Code Playgroud)

也尝试过这个

new CrmServiceClient(ConfigurationManager.ConnectionStrings["CRM_CONN"].ConnectionString)
Run Code Online (Sandbox Code Playgroud)

c# active-directory dynamics-crm-2016

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