小编Sim*_*zie的帖子

如何更改哪一天是一周的第一天?

我需要在asp.net中更改一周的第一天,即我希望星期六成为一周的第一天.

例如,下面的代码应该在星期一返回3:

(int)DateTime.Now.DayOfWeek
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net datetime

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

识别DLL的来源

如何确定用于创建DLL的编译器?

我有一个DLL - 是否有可能找到DLL的创建方式(.NET/C++/Labview等).我没有DLL文件的来源.我也试过检查反编译器,但它没有提供有关DLL是如何创建的任何信息.

compiler-construction dll

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

Image.Save 不会将图像数据保存到文件

我有工作的 Windows 窗体应用程序,它从网站获取 jpeg 图像并将其显示在图像控件中。但是,当我尝试使用 Image.Save 函数将图像保存到文件系统时,它会创建文件但将其留空。不知道我做错了什么......

在下面,DownloadData() 成功检索了包含图像的字节数组。

byte[] imageData = DownloadData(); 
MemoryStream stream = new MemoryStream(imageData);
Image img = Image.FromStream(stream);
stream.Close();
picMain.Image = img;
string fname = @"C:\Users\mikec1\Pictures\Construction\Construction_" + Now.ToString("yyyyMMdd") + "_" + Now.ToString("HHmmss") + ".jpg";
picMain.Image.Save(fname, System.Drawing.Imaging.ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)

如果我从 img 对象执行 Save ,我会得到相同的结果。

事实上,应用程序在执行最后一行时终止,而没有明显地抛出异常。

c# system.drawing gdi+ image image-processing

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

如何将曲线文本渲染为位图?

我目前正在动态创建一个位图,并使用位图中的图形对象在其上绘制一个字符串,如下所示:

System.Drawing.Graphics graph = System.Drawing.Graphics.FromImage(bmp);
graph.DrawString(text, font, brush, new System.Drawing.Point(0, 0));
Run Code Online (Sandbox Code Playgroud)

这将返回一个矩形位图,其中字符串从左到右直接写入.我也希望能够画出彩虹形状的弦乐.我怎样才能做到这一点?

c# gdi+ bitmap text-rendering

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

如果在Set()之后立即调用Reset(),则ManualResetEvent.WaitOne()不会返回

我在生产服务中遇到一个问题,它包含一个"看门狗"计时器,用于检查主处理作业是否已经冻结(这与COM互操作问题有关,遗憾的是,在测试中无法再现).

以下是它目前的工作原理:

  • 在处理过程中,主线程重置a ManualResetEvent,处理单个项目(这不应该花费很长时间),然后设置事件.然后它继续处理任何剩余的项目.
  • 每隔5分钟,看门狗就会召集WaitOne(TimeSpan.FromMinutes(5))这次活动.如果结果为false,则重新启动服务.
  • 有时,在正常操作期间,该监视器正在重新启动该服务,即使处理过程不会接近5分钟.

原因似乎是当多个项目等待处理时,处理Set()第一个项目之后和处理Reset()第二个项目之间的时间太短,并且WaitOne()似乎没有认识到事件已被设置.

我的理解WaitOne()是被阻塞的线程Set()被调用时保证会收到一个信号,但我想我错过了一些重要的东西.

请注意,如果我在调用Thread.Sleep(0)后通过调用允许上下文切换Set(),则WaitOne()永远不会失败.

下面包含一个与我的生产代码产生相同行为的示例.WaitOne()有时会等待5秒并失败,即使Set()每800毫秒调用一次.

private static ManualResetEvent _handle;

private static void Main(string[] args)
{
    _handle = new ManualResetEvent(true);

    ((Action) PeriodicWait).BeginInvoke(null, null);
    ((Action) PeriodicSignal).BeginInvoke(null, null);

    Console.ReadLine();
}

private static void PeriodicWait()
{
    Stopwatch stopwatch = new Stopwatch();

    while (true)
    {
        stopwatch.Restart();
        bool result = _handle.WaitOne(5000, false);
        stopwatch.Stop();
        Console.WriteLine("After …
Run Code Online (Sandbox Code Playgroud)

c# multithreading .net-4.0 manualresetevent

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

if的更短解决方案,否则if,否则if

我正在寻找一种缩短代码的方法,避免重复代码和if语句.我正在做的是创建一个计算器,在字符串中搜索运算符"*/+ - "并相应地执行它们.有任何想法吗?

if(exp.charAt(i)=='*')
        {
            newResult=Integer.parseInt(exp.substring(0, i)) * Integer.parseInt(exp.substring(i+1, exp.length()));
            primeResult = newResult;
            System.out.println(primeResult);
        } 
        else if(exp.charAt(i)=='/')
        {
            newResult=Integer.parseInt(exp.substring(0, i)) / Integer.parseInt(exp.substring(i+1, exp.length()));
            primeResult = newResult;
            System.out.println(primeResult);
        } 
        else if(exp.charAt(i)=='+')
        {
            newResult=Integer.parseInt(exp.substring(0, i)) + Integer.parseInt(exp.substring(i+1, exp.length()));
            primeResult = newResult;
            System.out.println(primeResult);
        } 
        else if(exp.charAt(i)=='-')
        {
            newResult=Integer.parseInt(exp.substring(0, i)) - Integer.parseInt(exp.substring(i+1, exp.length()));
            primeResult = newResult;
            System.out.println(primeResult);
        } 
Run Code Online (Sandbox Code Playgroud)

另外,是否有一个解决方案来接受一个包含2个以上操作数的字符串?即5 + 10*2/3

java math int parsing if-statement

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

使用LINQ根据这些项目在另一个列表中的存在来过滤项目列表

我正在尝试通过练习来学习LINQ.这似乎是我应该能够使用它的情况,但我无法弄清楚它是否可能,或者我是否正在咆哮错误的树.

根据下面的用例,我可以使用单行LINQ查询来实现方括号[]中的内容吗?

List<Command> list1, list2;

PopulateCommandLists(list1, list2);

foreach(Command cmd in list1)
{
    if ([cmd.Name is present as the Name in any of list2's Command objects])
    {
        //some code.
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# linq .net-3.5

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

匹配"#word1-word2-word3 ..."

我是正则表达式的新手,因此想知道是否有人可以帮助我生成一个正则表达式来匹配以下模式:

#航空,航天

所以它只是一个'#'后跟一个或多个单词,每个单词用连字符分隔.我尝试了以下正则表达式,但找不到匹配项:

#\ w + - ?\ W* - ?\ W*

但我想这只是一个带有'#'的正则表达式,后跟一个,两个或三个用连字符分隔的单词.我如何解释用连字符分隔的任意数量的单词后跟'#'?

我再次道歉,因为我知道这是一个相当基本的问题,但我一直在寻找好的教程,但是虽然有很多教程,但是大多数教程都以非常简单的方式解释正则表达式.

java regex parsing pattern-matching

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

在shell中将"20120821203354"(非分隔时间戳)转换为"2012-08-21 20:33"?

我要拿 /home/deploy/releases/20120821203354

并返回:

2012-08-21 20:33

基本上'releases/'根据数字的位置取出后的东西并分开.

背景:OS X 10.7; 将用于bash脚本.

/embarrassed

regex bash time

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

将Firefox嵌入到.NET控件中

我是c#和.net编程的初学者,我想知道我是否可以使用Mozilla Firefox作为webBrowser控件的实例浏览器,因为默认情况下webBrowser控件使用Internet Explorer.

.net c# firefox instance webbrowser-control

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