我知道这个问题已经解决了很多次 - 但我的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实现相同效果的最简单方法.
我知道关于排列列表的问题有几个类似的措辞问题,但它们似乎并没有真正解决我正在寻找的问题.我知道有办法做到这一点,但我画了一个空白.我有一个类似于这种格式的平面文件:
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)什么样的?
我试图在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开发人员发送给我的.
我试图让我的应用程序只在计算机上运行一次,我的应用程序需要通信到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)
我做错了什么?有没有其他可靠的方法不让我的应用程序的第二个实例运行?
我有一个来自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确认它实际上是智能感知的这个属性是好的吗?我错过了一些特殊的设计时参考吗?
我正在尝试使用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
-
我知道编译器可以从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));
但是我想理解为什么第一种方式不好,而且我也不想进行转换以节省输入:)
我正在尝试从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)