小编suj*_*lil的帖子

遇到string.Replace/Regex.Replace有问题

我有这样的SQL查询:

UPDATE StockUpdateQueue SET Synced = 1, SyncedAt = GETDATE() WHERE Id IN (@p0,@p1);
Run Code Online (Sandbox Code Playgroud)

此查询是动态生成的.我想要做的是通过一个函数运行它,它将有效地用@pN相应的值替换所有参数.

我试图用标准做到这一点,string.ReplaceRegex.Replace没有运气 - 替换没有发生.

这是我到目前为止所尝试的:

class Program
{
    static string _lastQuery;

    static void Main(string[] args)
    {
        var sqlQuery = "UPDATE StockUpdateQueue SET Synced = 1, SyncedAt = GETDATE() WHERE Id IN (@p0,@p1);";
        var sqlParamters = new Dictionary<string, object>()
        {
            { "@p0", 12345 },
            { "@p1", 65432 }
        };

        LogLastQuery(sqlQuery, sqlParamters);
    }

    static void LogLastQuery(string sqlQuery, Dictionary<string, object> sqlParamters = null) …
Run Code Online (Sandbox Code Playgroud)

c# string

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

如果Any*.File Exists,则全部删除*.File

我在winforms应用程序中使用visual c#.我想查看是否*.plr存在,删除所有带扩展名的文件.plr.我很困惑,因为以下代码由于某种原因不起作用.

if (File.Exists("*.plr"))
{
    File.Delete("*.plr");
}
Run Code Online (Sandbox Code Playgroud)

c# winforms visual-studio-2015

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

visual studio 2015调试退出代码0x800703e9

我正在创建一个C#电话簿应用程序,它从用户(名字,姓氏和电话号码)获取输入,将其存储在文本文件中,并可以在Windows窗体上显示.目前,当我启动程序时,我在此方法中得到一个StackOverflowException:

public string Phone
    {
        get { return Phone; }
        set
        {    // VS says that StackOverflowException happens here

            if (value.Length == 10)
            {
                Phone = value;
            }

            else
            {
                Phone = "0000000000";
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我相信当我尝试从文本文件中读取电话号码时会发生异常.以下代码来自Read方法:

                foreach (var line in lines)
                {
                    string[] entries = line.Split('`');

                    Contact newContact = new Contact();

                    newContact.FirstName = entries[0];
                    newContact.LastName = entries[1];
                    newContact.Phone = entries[2];  //I think exception happens here

                    contactList.Add(newContact);
Run Code Online (Sandbox Code Playgroud)

但是,当我在该行放置一个断点并进入调试模式时,当我将鼠标悬停Phone在该行中时Phone = value;,VS在大约6秒后退出调试模式.这是我悬停Phone和VS退出调试模式后的输出:

ContactsList.vshost.exe'(Managed(v4.0.30319)):已加载'C:\ WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll',跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.程序'[5200] …

c# visual-studio-2015

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

关键字附近的语法不正确

我的代码似乎正确.但是当我Group在查询中添加关键字时,它会生成一条消息:

关键字"组"附近的语法不正确

但当我删除Group关键字时,程序运行成功.

private void CSRMaintReviewer_Load(object sender, EventArgs e)
    {
        this.MaintReviewertbl.DataSource = null;
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["csrapps"].ConnectionString);

        conn.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "select " +
                          "EmailID_Reviewer, " +
                          "Reviewer_Name, " +
                          "Reviewer_Email, " +
                          "EmailID_TeamLead, " +
                          "TeamLead_Name, " +
                          "TeamLead_Email, " +
                          "Site, " +
                          "Business_Unit, " +
                          "Group, " +
                          "Station, " +
                          "Pkg_Department, " +
                          "Region, " +
                          "Account, " +
                          "Key_Field, " …
Run Code Online (Sandbox Code Playgroud)

c# sql-server

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

无法将void转换为列表,返回已排序的列表

我想返回一个排序列表,但它给了我这个错误.我该怎么办?

public class sortA : sortMethod
{
    public override List<int> Sort(List<int> A)
    {
        //List<int> Asorted = new List<int>();
        //Asorted = A.Sort(){ };
        return A.Sort();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# sorting list

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

最大化窗口并在 wpf 中恢复正常

嗨,我想在 WPF 中最大化窗口,我使用以下几行:

private void mnu_maximize_Click(object sender, RoutedEventArgs e)
{
    if (main.WindowState == System.Windows.WindowState.Maximized)
        main.WindowState = System.Windows.WindowState.Normal;
    main.WindowState = System.Windows.WindowState.Maximized;

}
Run Code Online (Sandbox Code Playgroud)

但问题是当我再次单击以将恢复窗口恢复到正常状态时,它无法正常工作并且处于最大化状态。
那么我该如何解决这个问题?

c# wpf

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

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

如何在Linq中使用OR运算符

我想OR在我的linq查询中使用函数.例如:Sql:

select * from tblusers where userid=1 and status='a' or status='b';
Run Code Online (Sandbox Code Playgroud)

LINQ:

var result= _Repository.selectAll().where(x=>x.UserID==1 && x.status=="a" OR x.status=="B");
Run Code Online (Sandbox Code Playgroud)

它确实适用于linq查询.那么有谁有任何想法?

c# linq

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

无法从 IEnumerable&lt;Model&gt; 更改 foreach 中的值

如何foreachIEnumerable<Model>.

代码:

public IEnumerable<Model> ListDaftarPjsp()
{
    IEnumerable<Model> list = from x in db.PJSPEvaluation
                              select new Model
                              {
                                  foo = x.Foo,
                                  bar = x.Bar               
                              };
    foreach (Model item in list) {
        item.condition = "example";
    }
    return list;
}

public class Model{
    public string foo{ get; set; }
    public string bar { get; set; }
    public string condition{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我已经创建了Model. 然后我使用foreach循环结果,然后设置它。但是 Return forcondition仍然没有改变?如何在foreach中设置条件然后返回结果

c# linq ienumerable model

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

如何用多个字符拆分字符串?

我有一个这样的字符串:string ip = "192.168.10.30 | SomeName".我想把它拆分|(包括空格.不幸的是,使用这段代码不可能:

string[] address = ip.Split(new char[] {'|'}, StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)

因为这会导致"192.168.10.30 ".我知道我可以添加.Trim(),address[0]但这是非常正确的方法吗?

简单地将空格(' | ')添加到搜索模式给了我一个

无法识别的转义序列

.net c# string split string-operations

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