小编Nap*_*Nap的帖子

如何删除日历的最后一周

我不确定为什么其他人之前没有问过这个问题.但是你注意到asp:Calendar最后会显示额外的一周吗?

例如,如果VisibleMonth设置为2010-03-01,FirstDayOfWeek设置为Sunday:它将显示6周.

  1. 2月28日至3月6日
  2. 3月7日至3月13日
  3. 3月14日至3月20日
  4. 3月21日至3月27日
  5. 3月28日至4月3日
  6. 4月4日至4月10日

我想知道为什么微软显示完全在四月份的最后一行.我试图在网上搜索一个房产,但它似乎并不存在.

我能想到的唯一解决方案是覆盖Pre_Render并检查所有个别日期,如果它们仍在VisibleDate的一周内.但当然这是一个极端的检查,因为控件的每次渲染都显示出来.

这是我的工作.

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
    int dayOfWeek = Convert.ToInt16(e.Day.Date.DayOfWeek);
    int compensate = dayOfWeek - Convert.ToInt16(DayOfWeek.Sunday);
    DateTime WeekStart = e.Day.Date.AddDays(-1 * compensate);
    DateTime WeekEnd = WeekStart.AddDays(6);

    // If the start and end of the week does not have relevance to the current month
    if (WeekStart.Month != Calendar1.VisibleDate.Month &&
        WeekEnd .Month != Calendar1.VisibleDate.Month)
    {
        e.Cell.Text = "";
        e.Cell.Height = 0;
        e.Cell.Visible = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

asp.net calendar

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

为什么在排序中使用Random导致[无法排序IComparer.Compare错误]

我尝试使用任一代码来改组字节(List)列表:

myList.Sort((a, b) => this._Rnd.Next(-1, 1));
Run Code Online (Sandbox Code Playgroud)

要么

myList.Sort(delegate(byte b1, byte b2)
{
    return this._Rnd.Next(-1, 1);
});
Run Code Online (Sandbox Code Playgroud)

他们抛出以下错误:

无法排序,因为IComparer.Compare()方法返回不一致的结果.值不比较等于自身,或者重复一个值与另一个值相比产生不同的结果.x:'{0}',x的类型:'{1}',IComparer:'{2}'.

使用随机而不是字节的比较函数有什么问题?

我尝试使用LINQ函数,它的工作原理.

var myNewList = myList.OrderBy(s => Guid.NewGuid());
var myNewList = myList.OrderBy(s => this._Rnd.NextDouble());
Run Code Online (Sandbox Code Playgroud)

我确实读过这些方法比Fisher-Yates shuffle慢,只给O(n)运行时.但只是想知道使用Sort函数和随机.

c# linq sorting random list

6
推荐指数
2
解决办法
3448
查看次数

带参数的简单Powershell Msbuild失败

我试图通过一个简单的变量传递,

没有参数

msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU"
Run Code Online (Sandbox Code Playgroud)

试试1

$buildOptions = '/p:Configuration=Debug /p:Platform="Any CPU"'
msbuild MySolution.sln + $buildOptions
Run Code Online (Sandbox Code Playgroud)

- >导致MSB1008

试试2

$command = "msbuild MySolution.sln" + $buildOptions
Invoke-expression $command
Run Code Online (Sandbox Code Playgroud)

- >导致MSB1009

我试过这篇文章的解决方案,但我认为这是一个不同的错误.

msbuild powershell

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

重载Getter和Setter导致C#中的StackOverflow

当我尝试覆盖get和set函数时,我不确定导致StackOverflowException的原因.当我只使用默认的get并设置它有效.

enum MyEnumType
{
....
}

public MyEnumType data { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试添加其他数据时,它会抛出StackOverflowException

public MyEnumType data 
{
  get
  {
    return data;
  }
  set 
  {
    data = value;
  }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?当我为asp .net用户控件属性执行此操作时,没有问题.我想知道为什么它导致正常枚举数据类型的StackOverflowException.

.net c# asp.net stack-overflow properties

5
推荐指数
2
解决办法
8448
查看次数

Bea Weblogic工作文件夹在哪里?

我知道这可能是一个微不足道的问题,但我真的找不到Oracle BEA weblogic 10.3中的工作文件夹.与Apache Tomcat不同,它通常位于WEB-INF下的工作目录中.

我已经在JavaRanch上研究了它,它说该目录位于:

\bea\user_projects\domains\YOUR_DOMAIN_NAME\servers\AdminServer\tmp\_WL_user\APPLICATION_WAR
Run Code Online (Sandbox Code Playgroud)

但是,当我检查我的目录时,我只找到了以下路径.

\bea\user_projects\workspaces\default\<project base>
Run Code Online (Sandbox Code Playgroud)

我一直遇到错误,其中缓存仍然存在于编译的JSP但我无法手动删除工作目录内容.我试图完全清理编译,但它不起作用.

注意:已经尝试通过文件监视工具监视访问的文件来搜索文件.我试图观察进程javaw.exe和java.exe,它显示当它试图在" jsp_servlet"文件夹中搜索它无法找到该文件的文件时.奇怪的是服务器工作正常.

oracle jsp weblogic temporary-directory weblogic11g

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

为什么 LocalDateTime 到 java.util.Date 的转换会转换为非常旧的日期?

我在将旧日期从 java.time.LocalDateTime 转换为 java.util.Date 时遇到问题

我尝试了很多变化,但它仍然具有相同的转移日期。我认为这是执行了一些奇怪的日历,但它失败了。

要解析的日期1800-01-01 00:00:00

我使用了一个非常简单的转换函数。

Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant());

时区 a.通过SimpleDateFormat转换 b.通过DateFormatter将LocalDateTime转换为java.util.Date
亚洲/东京 1800-01-01 00:00:00 日本标准时间 1799-12-31 23:41:01 日本标准时间
欧洲/布鲁塞尔 欧洲中部时间 1800-01-01 00:00:00 欧洲中部时间 1800 年 1 月 1 日 00:04:30
澳大利亚/悉尼 1800-01-01 00:00:00 澳大利亚东部时间 1799-12-31 23:55:08 澳大利亚东部时间
世界标准时间 1800-01-01 00:00:00 世界标准时间 1800-01-01 00:00:00 世界标准时间

A。通过 SimpleDateFormat 将 String 转换为 java.util.Date

b. 通过DateFormatter将String转换为java.time.LocalDatetime,然后将其转换为java.util.Date

现在我发现它只适用于 UTC 时区,我不能只更改软件时区,因为它会扰乱其他时区。有人知道将 java.time.LocalDateTime 转换为 java.util.Date 的其他方法吗?

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

=====以下是在扫地者的回答后添加的,以说明它并不适合所有人====

奇怪的是,它只发生在非常旧的日期,它不会发生在 1900-01-01 00:00:00,但尚未检查问题是在哪一点开始的。我在想,也许是因为18XX年的某个时候进行了调整/改变。

System.out.println(ZoneId.of("Asia/Tokyo").getRules().getOffset(LocalDateTime.parse("1800-01-01T00:00:00")));
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
System.out.println(TimeZone.getTimeZone("Asia/Tokyo").getOffset(format1.parse("1800-01-01T00:00:00").getTime()));
        
System.out.println(ZoneId.of("Asia/Tokyo").getRules().getOffset(LocalDateTime.parse("1900-01-01T00:00:00")));
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); …
Run Code Online (Sandbox Code Playgroud)

java java.util.date java-time

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

调用Console.WriteLine(ex.Message)以防止出现警告消息

我们通常在GUI(表单)等代码的上层捕获异常.

但我通常有这种代码

try
{
}
catch(Exception ex)
{
  Console.WriteLine(ex.Message);
  MessageBox.Show("Application has encountered error....");
}
Run Code Online (Sandbox Code Playgroud)

我可以在没有标识符的情况下捕获(Exception)因为我不需要运行时的消息,但是对于调试构建,确保在catch语句中断开是很方便的.所以我通常会编写一个Console.WriteLine来防止对未使用的ex变量发出很多警告.我的代码中有很多Console.WriteLine(ex.Message)的情况.这种性价比会降低吗?

注意:更改了标题"Console.WriteLine(ex.Message)是否具有性能成本?" "调用Console.WriteLine(ex.Message)以防止警告消息"

c# exception-handling console.writeline winforms

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

二维约束维护的调度算法

我的任务是在我公司做一个调度计划.基本上给N员工你应该安排他们转移这个月.我试图通过蛮力和有序的约束优先权来做到这一点.但是,我在尝试维护垂直和水平约束时遇到问题.

纵向约束,所有人每月应该有相同的班次.(例如,他们应该在白班,夜班,休息日,提前班次的平均数量之内)但是,还有一天水平约束,即每天的班次数应该相等.

我试着在互联网上搜索,我经常阅读使用遗传算法的答案.在我对遗传算法的研究中,似乎算法并不适用于我的情况.有谁知道如何解决这个问题?

基于Enigmativity评论的附加插图:基本上有4个班次,

Y是本月的员工轮班总额,需要按员工平均分配.(即每个员工本月的班次类型应该相等(或只差一个) - 垂直约束.

X是所有员工的每日总数,基本上每个班次也应平均分配给休息和周末. - 水平构造

此外,还存在其他约束,例如期望的移位和相邻移位.但我现在尝试用这些均匀的规则来简化它.

--------------------------------------------------------------------------------
| Employee | 1  | 2  | 3  | 4  | + + + | 28 | 29 | 30 | 31 | S1 | S2 | S3 | S4 |
--------------------------------------------------------------------------------
| EmpA     | S3 | S4 | S1 | S2 | + + + | S3 | S4 | S1 | S2 | Y  | Y  | Y  | Y  |
--------------------------------------------------------------------------------
| EmpB     | S1 …
Run Code Online (Sandbox Code Playgroud)

algorithm scheduling

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

从不同的类库访问字符串资源

我想知道如何从另一个类库加载字符串资源.这是我的结构.

Solution\
    CommonLibrary\
        EmbeddedResource.resx
    MainGUI\
Run Code Online (Sandbox Code Playgroud)

如果我在CommonLibrary类上获取字符串,我只使用EmbeddedResource.INFO_START_MSG但是当我尝试使用类型化字符串资源时它无法识别资源文件.请注意,MainGUI中已引用CommonLibrary.

我通常这样做.

Solution\
    CommonLibrary\
    MainGUI\
        EmbeddedResource.resx
Run Code Online (Sandbox Code Playgroud)

但我想在两个项目中使用相同的资源.

c# embedded-resource

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

Windows重启时,MSMQueue可以保留其值吗?

我有一个现有的系统,我想知道如果MSMQueue重新启动,它是否可以保留队列的值.它重新启动时清除该值.

msmq

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