小编mcm*_*lab的帖子

TimeSpan.TryParseExact不起作用

我正在尝试从字符串中检索一个时间跨度,但TryParseExact返回false(失败).

我看不出我做错了什么,你能帮忙吗?我在代码中尝试了2行版本,两者都不起作用.

TimeSpan.TryParseExact("04:00:01","HH:mm:ss",CultureInfo.CurrentCulture, out aTime)
Run Code Online (Sandbox Code Playgroud)

TimeSpan.TryParseExact("04:00:01","HH:mm:ss", null, out aTime)
Run Code Online (Sandbox Code Playgroud)

编辑:这里的两个响应都是正确的,我的自定义时间跨度格式的格式错误 - 我犯的错误是假设DateTime的自定义格式适用于TimeSpans,但它们没有.

c#

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

为什么byte []不按预期进行字符串和返回工作

我有这个代码:

Int32 i1 = 14000000;
byte[] b = BitConverter.GetBytes(i1);
string s = System.Text.Encoding.UTF8.GetString(b);
byte[] b2 = System.Text.Encoding.UTF8.GetBytes(s);
Int32 i2 = BitConverter.ToInt32(b2,0);;
Run Code Online (Sandbox Code Playgroud)

i2等于-272777233.为什么不是输入值?(14000000)?

编辑:我想要做的是将它附加到另一个字符串,然后我使用WriteAllText写入文件

c# byte

7
推荐指数
3
解决办法
1684
查看次数

为什么DateTime.ToString没有按预期给出时区

如果我有这个代码:

                DateTime dt = DateTime.UtcNow;
                string sDate = dt.ToString("yyyy-MM-dd HH:mm:ss.fff zz");
Run Code Online (Sandbox Code Playgroud)

我的sDate看起来像这样:

"2013-04-07 21:05:15.396 +10"
Run Code Online (Sandbox Code Playgroud)

这是当前的UTC日期时间(晚上9:05),但结尾是"+10",这是我当地的时区.

我原以为这个:

"2013-04-07 21:05:15.396 +00"
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

c# datetime datetime-format

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

如何使用 ExcelDNA 从某个范围内获取 Excel 公式?

我想将一个范围(此时为 1d)传递给我的函数,并返回一个包含该范围公式的字符串数组。

到目前为止,这是我的(不工作)代码:

    public static object[,] ReadFormulas([ExcelArgument(AllowReference=true)]object arg)
    {
        ExcelReference theRef = (ExcelReference)arg;
        object[,] o = (object[,])theRef.GetValue();
        string[,] res = new string[o.GetLength(1),1];
        for(int i=0;i<o.GetLength(1);i++) 
        {
            ExcelReference cellRef = new ExcelReference(theRef.RowFirst+i, theRef.ColumnFirst);
            res[i,0] = XlCall.Excel(XlCall.xlfGetFormula, cellRef) as string;   //Errors here
        }
        return res;
    }
Run Code Online (Sandbox Code Playgroud)

c# excel-dna

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

通过AWS SQS传输ProtoBuf-net消息时无效的二进制字符

我正在使用Protobuf-net(https://code.google.com/p/protobuf-net/)对我的课程进行序列化,然后尝试通过Amazon SQS进行传输。

当我这样做时,我得到这个错误:

Amazon.SQS.AmazonSQSException: Invalid binary character '#xC' was found in the message body, the set of allowed characters is #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF].
Run Code Online (Sandbox Code Playgroud)

这是不言而喻的。

有没有人有一个很好的解决方案,如何使它工作?

protocol-buffers protobuf-net amazon-sqs

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

在c#中使用ush的bitShifting

如果我想将4个字节转换为int,我可以这样做:

        byte[] b = BitConverter.GetBytes(i1);
        int i2 = BitConverter.ToInt32(b,0);
        int i3 = b[0] | (b[1]<<8) | (b[2]<<16) | (b[3]<<24);
Run Code Online (Sandbox Code Playgroud)

然后i1,i2,i3将全部相等.

但我如何为uint做同样的事情呢?这个:

        uint u1 = uint.MaxValue-1000;
        byte[] b = BitConverter.GetBytes(u1);
        uint u2 = BitConverter.ToUInt32(b,0);
        uint u3 = (uint)(b[0] | (b[1]<<8) | (b[2]<<16) | (b[3]<<24));
Run Code Online (Sandbox Code Playgroud)

导致大的uints过度.

c# bit-manipulation

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

AWS SQS 有效字符

我通过 SQS 发送的一些消息返回此错误:

Amazon.SQS.AmazonSQSException:在消息正文中发现无效的二进制字符“#x1”,允许的字符集为 #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

这些代码实际上是什么意思?显然它们是 unicode 代码,但是我所做的任何 google 搜索都提供了与这些(“#x”)略有不同的格式,我正在努力理解它们。

xml unicode amazon-sqs

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