小编Mat*_*att的帖子

如何将DateTime转换为特定字符串格式(两种方式,例如给定格式为"yyyyMMdd")?

我在转换日期时间时出现问题,该日期时间是字符串格式,但我无法使用"yyyyMMdd"格式转换它.

我的代码是:

string tpoc = refSubClaim.BenefitsFolder.BenefitFolderIdNumber.ToString();
string[] tpocinfo = Regex.Split(tpoc,";");

for (int i = 0; i < tpocinfo.Length; i++)
{
    switch (i)
    {
        case 0:
        {
            string[] tpoc2 = Regex.Split(tpocinfo[0], ",");
            claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
            claimantAuxillaryRecord.TPOCAmount2 = Convert.ToDecimal(tpoc2[1]);
            claimantAuxillaryRecord.FundingDelayedBeyondTPOCStartDate2 = tpoc2[2].ToString();
        }
        break;
Run Code Online (Sandbox Code Playgroud)

c# string datetime

125
推荐指数
8
解决办法
69万
查看次数

如何在C#中访问匿名类型的属性?

我有这个:

List<object> nodes = new List<object>(); 

nodes.Add(
new {
    Checked     = false,
    depth       = 1,
    id          = "div_" + d.Id
});
Run Code Online (Sandbox Code Playgroud)

...而且我想知道我是否可以获取匿名对象的"已检查"属性.我不确定这是否可行.试过这样做:

if (nodes.Any(n => n["Checked"] == false)) ......但它不起作用.

谢谢

.net c# properties object anonymous-types

110
推荐指数
4
解决办法
10万
查看次数

Web Config Transform无法正常工作

在.NET MVC 3.0应用程序中,我有以下配置appSettings:

web.config中

<appSettings>
<add key="SMTPHost" value="mail.domain.com"/>
    <add key="SMTPUsername" value="user@gmail.com"/>
    <add key="SMTPPort" value="25"/>
    <add key="SMTPPwd" value="mypassword"/>
    <add key="EmailFrom" value="notific@gmail.com"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

为了调试,我定义了以下配置转换:

web.Debug.config

<appSettings>
    <add  key="SMTPPort" value="58" xdt:Transform="Replace" xdt:Locator="Match(key)" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

我在调试模式下运行应用程序,但我的SMTP端口仍然从web.config,而不是web.Debug.config.

任何人都可以建议这种配置可能出错吗?

asp.net asp.net-mvc web-config web-config-transform slowcheetah

82
推荐指数
5
解决办法
5万
查看次数

立即窗口中的动态导致'Microsoft.CSharp.RuntimeBinder.Binder'未定义或导入错误

如果我dynamic在Visual Studio的即时窗口中使用,我会收到错误

未定义或导入预定义类型"Microsoft.CSharp.RuntimeBinder.Binder"

我该如何解决这个问题?

.net c# dynamic immediate-window visual-studio

67
推荐指数
3
解决办法
5万
查看次数

msbuild,定义条件编译符号

我可能只是盲目的,但在MSBUILD中是否有指定条件编译符号的命令行?

我目前在我的buildscript中有这行:

SET MSBUILD=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
SET CONFIG=Debug
%MSBUILD% /p:Configuration=%CONFIG% /p:OutputPath=..\..\output source\MyProject\MyProject.csproj
Run Code Online (Sandbox Code Playgroud)

我想补充一个条件.在Visual Studio中,我可以进入Project Properties => Build =>条件编译符号,但我还没有看到msbuild的选项?

Bonus Karma如果你知道我是否可以完全覆盖.csproj文件中已经指定的所有符号,以确保只有我的Buildscript中的条件进入.

.net msbuild compiler-options

65
推荐指数
3
解决办法
4万
查看次数

VS代码 - 在活动栏中切换搜索图标

我不小心删除了活动栏中的搜索图标,不知道如何再次添加它.如果我单击活动栏,我不再看到此选项.

截图

visual-studio-code vscode-settings

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

如何使用backgroundworker更新GUI?

我花了一整天的时间试图让我的应用程序使用线程,但没有运气.我已经阅读了很多关于它的文档,我仍然会遇到很多错误,所以我希望你能帮助我.

我有一个耗时的方法,它调用数据库并更新GUI.这必须一直发生(或大约每30秒).

public class UpdateController
{
    private UserController _userController;

    public UpdateController(LoginController loginController, UserController userController)
    {
        _userController = userController;
        loginController.LoginEvent += Update;
    }

    public void Update()
    {
        BackgroundWorker backgroundWorker = new BackgroundWorker();
        while(true)
        {
            backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork);
            backgroundWorker.RunWorkerAsync();
        }     
    }

    public void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
    {
        _userController.UpdateUsersOnMap();
    }
}
Run Code Online (Sandbox Code Playgroud)

使用这种方法我得到一个例外,因为后台工作者不是和STA线程(但从我可以理解这是我应该使用的).我试过一个STA线程,并给出了其他错误.

我认为问题是因为我在进行数据库调用时尝试更新GUI(在后台线程中).我应该只进行数据库调用,然后以某种方式它应该切换回主线程.在主线程执行后,它应该返回后台线程,依此类推.但我看不出怎么做.

应用程序应在数据库调用后立即更新GUI.Firering事件似乎不起作用.背景线程只是输入它们.

编辑:

一些非常好的答案:)这是新的代码:

public class UpdateController{
private UserController _userController;
private BackgroundWorker _backgroundWorker;

public UpdateController(LoginController loginController, UserController userController)
{
    _userController = userController;
    loginController.LoginEvent += Update;
    _backgroundWorker = new BackgroundWorker(); …
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading backgroundworker winforms

45
推荐指数
3
解决办法
8万
查看次数

什么时候"不"不是否定?

为什么以下两个都返回零?当然第二个是对第一个的否定?我正在使用SQL Server 2008.

DECLARE 
    @a VARCHAR(10) = NULL ,
    @b VARCHAR(10) = 'a'

SELECT  
    CASE WHEN ( ( @a IS NULL
                      AND @b IS NULL
                    )
                    OR @a = @b
                  ) THEN 1
         ELSE 0
    END , -- Returns 0
    CASE WHEN NOT ( ( @a IS NULL
                      AND @b IS NULL
                    )
                    OR @a = @b
                  ) THEN 1
         ELSE 0
    END -- Also returns 0
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server null evaluation expression

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

如何在CMD中运行PowerShell

我正在尝试在cmd命令行中运行PowerShell脚本.有人给我一个例子,它有效:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"
Run Code Online (Sandbox Code Playgroud)

但问题是我的PowerShell脚本有输入参数所以我试过但不起作用:

powershell.exe -noexit "& 'D:\Work\SQLExecutor.ps1 -gettedServerName "MY-PC" ' "
Run Code Online (Sandbox Code Playgroud)

错误是:

术语'D:\ Work\SQLExecutor.ps1 -gettedServerName"MY-PC"'无法识别为cmdlet函数的名称,

等待帮助!谢谢!

windows powershell cmd batch-file

43
推荐指数
3
解决办法
24万
查看次数

为什么NaN(不是数字)仅适用于双打?

我有一个包含两个可为空的十进制属性的业务类.第三个属性返回乘以其他两个属性的结果.如果两个可空类型的HasValue为真,那么我乘以并返回结果.如果一个或两个属性为null,我有一些返回值的选项:

  • 返回0
  • 抛出一个例外
  • 返回一个幻数(-1)
  • 返回小数?(编辑 - 见评论)

我认为我的一个选择是返回NaN,但我发现这只适用于double类型.为什么是这样?

对于记录,在这种情况下返回0是最有意义的,这是我打算做的事情,除非有人有更好的建议.

c# types

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