小编Ana*_*oly的帖子

如何在c#中解析字符串到dateTime?

string dateString = "12/9/2014 10:09:28 AM";
DateTime dateTime;

if (DateTime.TryParse(dateString, CultureInfo.GetCultureInfo("en-GB"),
    DateTimeStyles.AssumeUniversal, out dateTime))
{
   Console.WriteLine(dateTime); //"9/12/2014 10:09:28 PM";
}
Run Code Online (Sandbox Code Playgroud)

当我用"en-US"做同样的事情时,他们会换到 "12/9/2014 10:09:28 PM"

他们为什么每天和每月交换?

他们现在的日期在哪里,一个月在哪里?

c# date

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

在c#中,如何将字符串及其频率组合到结果字符串中?

我知道我们可以找到这样的重复项:

var dublicateItems = itemStrings.GroupBy(x => x)
                                .Where(x => x.Count() > 1)
                                .ToDictionary(g => g.Key, g => g.Count());
Run Code Online (Sandbox Code Playgroud)

和这样的不同项目:

var distinctItems = itemStrings.Distinct();
Run Code Online (Sandbox Code Playgroud)

但是如何将它与以下字符串列表结合起来:

输入: a, b, b, c, d, d, d, d

输出: a, b (2 times), c, d (4 times)

c# algorithm

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

如何找到三次方程的所有正整数解?

我想找到方程的所有正整数解,a^3 + b^3 = c^3 + d^3其中a, b, c, d是整数1 to 1000

蛮力解决方案继续计算每个(a,b)对的所有(c,d)对.我想改进这个算法.我想创建一次(c,d)对的列表.然后,当我们有(a,b)对时,找到(c,d)列表中的匹配.我们可以通过将每个(c,d)对插入到哈希表中来快速定位匹配,哈希表从总和映射到对(或者更确切地说是具有该总和的对的列表)

n= 1000
for c from 1 to n
    for d from 1 to n
        result = c^3 + d^3
        append (c,d) to list at value map[result]

for a from 1 to n
    for b from 1 to n
        result = a^3 + b^3
        list = map.get(result)
        foreach pair in list
             print a,b, pair
Run Code Online (Sandbox Code Playgroud)

我是对的,我们有O(n ^ 2)解决方案吗?为什么?我们怎样才能改善它?什么是c#实现?

此外,也许一旦我们得到了所有(c,d)对的映射,我们就可以直接使用它.我们不需要生成(a,b)对.每个(a,b)都已经在地图中.如何实现这个想法?

c# algorithm

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

如何在不同时区使用TimeSpan?

我有以下代码scheduleConfiguration.Time在UTC 中接受输入并ticks在本地时间返回。

scheduleConfiguration.Time equal {9/13/2015 10:00:00 AM} in UTC

var localTime = scheduleConfiguration.Time.ToLocalTime(); {9/13/2015 1:00:00 PM} in Local
var executionTime = new TimeSpan(localTime.TimeOfDay.Ticks);
Run Code Online (Sandbox Code Playgroud)

我更改了数据合同scheduleConfiguration.Time,因此我需要使用TimeSpan TimeOfDay而不是DateTime Time,但是我需要拥有相同的合同executionTime。所以我下一步

var local time = DateTime.Now.Date.Add(scheduleConfiguration.TimeOfDay);//{9/13/2015 10:00:00 AM} in Local
var executionTime = new TimeSpan(localTime.Ticks);
Run Code Online (Sandbox Code Playgroud)

所以我有3个小时的时差(我有UTC +3时区)

在第一种情况下,如何获得与DateTime相同的结果?

c# datetime

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

如何从try-catch简化return语句

如何简化以下代码:

try
{
    var metadata = GetMetadata();
    return metadata ?? _provider.GetLatestMetadata(guid);
}
catch (AuthenticationException)
{
    return _provider.GetLatestMetadata(guid);
}
catch (HttpUnauthorizedRequestException)
{
    return _provider.GetLatestMetadata(guid);
}
catch (WebException)
{
    return _provider.GetLatestMetadata(guid);
}
catch (VcenterException)
{
    return _provider.GetLatestMetadata(guid);
}
Run Code Online (Sandbox Code Playgroud)

我想避免代码重复.

可能吗?

c# exception-handling code-duplication

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

c#是否有内部额外的开销?

我有以下简单的类:

class Stack {
  public class Node // inner class
  {
      string item;
      Node next;
  }
}
Run Code Online (Sandbox Code Playgroud)

包含N项目的堆栈使用:8 bytes (reference to String)+ 8 bytes (reference to Node)+ 16 bytes (sync block index + type object pointer).但我想知道内部课程开销.我需要额外添加8 bytes吗?所以N个项目的堆栈使用~40*N字节或~32*N字节?

.net c#

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

如何提高Mongo中更新操作的性能?

foreach (var doc in await records.Find(filter).ToListAsync())
{
    var query = Builders<JobInfoRecord>.Filter.Eq("JobTypeValue", doc.JobTypeValue);
    var updatedJobInfo = Regex.Replace(doc.SerializedBackgroundJobInfo, pattern, "<$1></$1>");
    var update = Builders<JobInfoRecord>.Update.Set("SerializedBackgroundJobInfo", updatedJobInfo);

    records.UpdateOneAsync(query, update).Wait();
}
Run Code Online (Sandbox Code Playgroud)

这是更新文档的最佳方法吗(我将password名称中包含的xml字符串中的标签值更改为空标签:?<adminPassword></adminPassword>demo)?我正在使用Mongo驱动程序2.0.2

我有一个包含500 000文档的集合,我希望大约每分钟进行一次更新。3000文件。

如何提高操作性能update

c# performance mongodb

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

在C中,为什么我们需要将char*转换为void?

我读了一个单元测试,检查无效免费或双免费:

int main() {
    char *a = (char*) my_malloc(200);
    char *b = (char*) my_malloc(50);
    char *c = (char*) my_malloc(200);
    char *p = (char*) my_malloc(3000);

    (void) a, (void) c;

    memcpy(p, b - 200, 450);
    my_free(p + 200);
    printstatistics();
}
Run Code Online (Sandbox Code Playgroud)

为什么我们需要转换char*void,当我们这样做投在内存中会发生什么?

c

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

来自无符号积分类型样式的转换.这种风格好吗?

很多时候我看到程序员做了以下演员

unsigned long long minimumValue;
minimumValue = (unsigned long long)-1;
Run Code Online (Sandbox Code Playgroud)

但为什么他们这样做,而不是int minimumValue = -1

c c++

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

三重嵌套循环的复杂性

我有以下算法来查找所有三元组

for (int i = 0; i < N; i++)
    for (int j = i+1; j < N; j++)
         for (int k = j+1; k < N; k++)
             if (a[i] + a[j] + a[k] == 0)
                { cnt++; }
Run Code Online (Sandbox Code Playgroud)

我现在有三重循环,我检查所有三元组.如何显示可以从N个项目中选择的不同三元组的数量是N*(N-1)*(N-2)/6多少?

如果我们有两个循环

for (int i = 0; i < N; i++)
    for (int j = i+1; j < N; j++)
             ...
Run Code Online (Sandbox Code Playgroud)

i = 0我们去到第二循环N-1时间

i = 1=> N-2

...

i = N-1 => …

algorithm performance time-complexity

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