小编Var*_*rma的帖子

C#+运算符调用string.concat函数?

可能重复:
C#是否优化了字符串文字的串联?

我刚刚发现我们写了这样的一行:

string s = "string";
s = s + s; // this translates to s = string.concat("string", "string");
Run Code Online (Sandbox Code Playgroud)

但是我通过反射器打开了字符串类,我没看到这个+运算符在哪里重载?我可以看到==和!=超载.

[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
    public static bool operator ==(string a, string b)
    {
      return string.Equals(a, b);
    }
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
    public static bool operator !=(string a, string b)
    {
      return !string.Equals(a, b);
    }
Run Code Online (Sandbox Code Playgroud)

那么为什么当我们使用+来组合字符串时会调用concat?

谢谢.

c# string operator-overloading concatenation

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

根据文件内容在 Notepad++ 中自动设置语言,而不是文件扩展名

请注意,这个问题是来自此不同的一个

我有扩展名为 .sln、.csproj、.config 等的文件。这些都是 XML 文件。当我在 notepad++ 中打开它们时,语言设置为 XML,我可以看到语法突出显示,因为我遵循了上面超链接中解释的过程。但是我可以有一个扩展名为 .kangaroo 的 XML 文件(一个包含有效 XML 的文件)。我想知道是否有办法 - 这样当我在 Notepad++ 中打开这个文件时,它会检测到它是一个 XML 文件,然后自动将语言设置为 XML。因此,XML 语法高亮将在那里。

顺便说一下,Microsoft Visual Studio 已经具有此功能,即如果名为 Temp.kangaroo 的文件包含有效的 XML 并且我在 VS 2012 中打开它,那么它将执行语法突出显示。但是 Notepad++ 默认不会这样做。我们需要手动按照上面超链接中说明的过程进行操作。

谢谢

xml syntax-highlighting notepad++ visual-studio

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

C++ 全局和非全局数组的区别(Stackoverflow Exception)

当我编写以下程序时,它可以正常工作,即在 main() 方法之外声明了 bitset 数组。

正确工作

#include <iostream>
#include <bitset>

using namespace std;

bitset<5000> set[5000];

int main(){
    cout<<"program runs fine"<<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是当我在 main 方法中创建它时,我得到了堆栈溢出异常。谁能详细解释一下这里发生了什么?通常我会在递归方法中看到堆栈溢出异常。那么谁在这里使用堆栈?

#include <iostream>
#include <bitset>

using namespace std;


int main(){
    bitset<5000> set[5000];
    cout<<"program runs fine"<<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

不起作用并抛出堆栈溢出异常 在此处输入图片说明

c++ stack-overflow arrays out-of-memory bitset

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

二分图的快速最大匹配算法

我试图解决以下问题,但我的算法太慢了.那是因为我使用Edmonds - Karp算法来找到最大流量,当应用于二分图时,它也会产生最大匹配.它的运行时间是n ^ 5.我想知道任何更快的算法来解决这个问题(特别是对于二分图).我目前正在研究的一种算法是Relabel to Front,它是n ^ 3.

algorithm graph matching bipartite network-flow

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

asp .net dropdownlist selectedindex无效

我有以下代码:

DataRow CreateRow(DataTable dt, string name, string country)
    {
        DataRow dr = dt.NewRow();
        dr["Name"] = name;
        dr["Country"] = country;
        return dr;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        // creating the data table
        DataTable dt = new DataTable("Student Details");

        // adding two columns Name and Country
        dt.Columns.Add("Name", typeof(String));
        dt.Columns.Add("Country", typeof(String));

        // create 3 rows        
        dt.Rows.Add(CreateRow(dt, "Varun", "India"));
        dt.Rows.Add(CreateRow(dt, "Li", "China"));
        dt.Rows.Add(CreateRow(dt, "Yishan", "China"));

        // create a data view 
        DataView dv = new DataView(dt);

        DropDownList1.DataSource = dv;
        DropDownList1.DataTextField = "Name"; …
Run Code Online (Sandbox Code Playgroud)

asp.net selectedindex drop-down-menu

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

C#正则表达式不起作用

我有以下代码,但无法理解为什么没有返回匹配?我需要做出哪些改变?

string temp = "qqqqqqqq<ahref=\"city.php?city=qqqqqqq";
Regex r = new Regex("<ahref=\"city.php?city=");
Match m = r.Match(temp);
Run Code Online (Sandbox Code Playgroud)

变量m不返回匹配项.

谢谢

Varun的

c# regex

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

如何从C#中的URL查询字符串中提取值?

可能重复:
从Uri获取单个查询参数

我有一个像这样的URL:

http://somedomain.com/website/webpage.aspx?token=123456&language=English

我的目标是从中提取123456.query-string参数中只能有一个支付ID.我可以使用什么样的正则表达式?顺便说一句,我正在使用C#(.NET).

谢谢

c# regex

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

PowerShell 在不同的路径上运行远程命令

通过执行以下操作,我可以从本地计算机向不同域中的服务器运行远程 powershell 命令:

Invoke-Command -ComputerName serverName -ScriptBlock {Get-Process} -Credential $credential
Run Code Online (Sandbox Code Playgroud)

但是,出于某种原因,它在此默认目录中运行 - c:\users\username\documents

我的实际情况略有不同。我有一个 powershell 脚本 ( Test.ps1) 坐在这里:

C:\Data\Shared\Installation
Run Code Online (Sandbox Code Playgroud)

我想远程运行这个脚本。我在 ScriptBlock 中尝试了不同的东西,但它总是出错。看起来像一个语法问题。例如我试过这个:

Invoke-Command -ComputerName serverName -ScriptBlock {cd "C:\Data\Shared\Installation" ./Test.ps1} -Credential $credential

但这给出了以下错误

A positional parameter cannot be found that accepts argument './Test.ps1'.
Run Code Online (Sandbox Code Playgroud)

只是需要一些关于这方面的帮助。谢谢。

编辑

在此处输入图片说明

编辑 2

是的,感谢您的评论(现在已经消失了) - 在路径工作后放置一个分号。谢谢您的帮助。

powershell remoting path

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

C#正则表达式过滤字符

我在C#中有一个字符串,我想过滤掉(扔掉)所有字符,除了数字,即0到9.例如,如果我有一个字符串,如"5435%$%r3443 _ + _ +**╥╡← ",那么输出应该是54353443.如何使用正则表达式或C#中的其他内容来完成?

谢谢

c# regex string filtering

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

为什么这个C#代码会崩溃这个过程?

static void Main(string[] args)
        {
            try
            {
                var intValue = "test";
                var test = Convert.ToInt32(intValue);
            }
            catch (FormatException)
            {
                Console.WriteLine("format exception");
                throw;
            }
            catch (Exception)
            {

            }
            finally
            {
                Console.WriteLine("finally");
            }
        }
Run Code Online (Sandbox Code Playgroud)

根据我的说法,在从string转换为int期间,抛出FormatException.现在在catch块中,我们重新抛出原始异常.为什么这不会被通用异常catch块捕获?如果我把try/catch放在throw周围,那么应用程序不会崩溃.

c#

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

Entity Framework Core 读取和更新多行 - 复合主键

我有一个这样的表结构:

ID Code  Value
1  2     text1
2  3     text3
2  4     text4
Run Code Online (Sandbox Code Playgroud)

这里 ID 和 Code 形成复合主键,即在上表中不能有 ID = 2 和 Code = 4 的另一行。

现在我们使用实体框架核心,我有一个名为 Branch 的类(代表组合键),如下所示:

public class Branch
{
 public int ID {get; set;}
 public int Code {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

List<Branch>其次我也有一个。现在我想做两件事:

首先进行一次数据库调用并获取整个分支列表的完整对象(ID、代码、值)。

之后,我将更改每个对象的“值”。

然后我想进行一次数据库调用并保存每一行更新的“值”。

目前我正在循环中执行此操作,因此效率低下。

foreach(var x in listOfBranch)
{
  var record = context.Table.Find(x.ID, x.Code);
  record.Value = "new value";
  context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我们怎样才能在一次通话中做到这一点?谢谢。

c# entity-framework composite-key dbcontext entity-framework-core

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

算法 - 最小化方程

如果我们给出一个等式3x + 2y <= 10,我们想要找到x和y的值,使得x + y =最大值并且10-3x-2y被最小化.如何才能做到这一点?我认为它是一个动态编程问题!但不确定我是否正确.

在上面的x = 0和y = 5将是答案.

谢谢.

algorithm dynamic greedy

0
推荐指数
1
解决办法
104
查看次数