小编Dom*_*nic的帖子

替代HttpUtility for .NET 3.5 SP1客户端框架?

将我的Windows窗体应用程序定位到.NET 3.5 SP1 客户端框架真的很不错.但是,现在我正在使用HttpUtility.HtmlDecodeHttpUtility.UrlDecode函数,而MSDN文档并没有指出System.Net之类的任何替代品.

因此,不要反思源代码并将其复制到我的程序集中 - 我认为这不值得 - 在.NET 3.5 SP1客户端框架中有你知道的替代品,以替换它功能?他们将这些有用的功能限制为仅服务器代码似乎有点奇怪.

.net deployment .net-3.5 .net-client-profile

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

为什么System.out的设计很尴尬?

有没有人知道java.lang.System.out笨拙设计背后的动机?

尴尬:
首先,外面的成员暴露(封装任何人?).
其次,它是最终的,但可以通过setOut()更改(与final相矛盾).

java api

12
推荐指数
2
解决办法
478
查看次数

在C#中解析骰子表达式(例如3d6 + 5):从哪里开始?

所以我希望能够在C#中解析和评估"骰子表达式".骰子表达式定义如下:

<expr> :=   <expr> + <expr>
            | <expr> - <expr>
            | [<number>]d(<number>|%)
            | <number>
<number> := positive integer
Run Code Online (Sandbox Code Playgroud)

所以例如d6+20-2d3是允许的,并且应该评估为

rand.Next(1, 7) + 20 - (rand.Next(1, 4) + rand.Next(1, 4))
Run Code Online (Sandbox Code Playgroud)

d%应该相当于d100.

我知道我可以解决一些解决方案,但我也知道这似乎是一个非常典型的计算机科学类型的问题,所以必须有一些我应该研究的超优雅解决方案.

我希望我的解析结果具有以下功能:

  • 我应该能够输出表达式的规范化形式; 我首先考虑骰子,按骰子大小排序,并始终使用前缀.所以例如上面的样本会变成1d6-2d3+20.任何实例d%也会变成d100标准化形式.
  • 我应该能够随意评估表达式,每次滚动不同的随机数.
  • 我应该能够用最大化的所有骰子卷来评估表达式,因此例如上面的样本将给出(确定性地)1*6+20+2*3 = 32.

我知道这正是Haskell的类型,可能还有其他功能类型的语言,但是如果可能的话,我想留在C#中.

我最初的想法倾向于递归,列表,也许还有一些LINQ,但是,如果我尝试没有知道事物的人的一些指示,我肯定它最终会成为一个不优雅的混乱.

另一种可能有效的策略是一些基于正则表达式的初始字符串替换,将骰子表达式转换为rand.Next调用,然后进行即时评估或编译......这实际上有用吗?我怎么能避免rand每次都创建一个新对象?

c# math computer-science dice

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

字体大小独立UI:当我切换到120 DPI时,一切都破了?

所以我正在阅读那些在另一个问题中链接到的Windows Vista UI指南,并且他们提到您应该能够在切换到120 DPI后继续存在.好吧,我安装了我的应用程序,启动了我方便的虚拟机,我们得到了什么... AAAAGH !!! 大规模的UI失败!

一切都是乱七八糟的:一些容器对于他们的文本来说不够大; 一些"彼此相邻"的控件现在都被挤压在一起/分开; 有些按钮不够高; 我的ListView专栏不够广...... eeek.

这听起来像是一种完全不同的方法.我之前的一个基本上是使用VS2008 Windows窗体设计器来创建一个基于像素的布局.我可以看到,如果我坚持使用Windows Forms,FlowLayoutPanels会有所帮助,尽管我发现它们在过去相当不灵活.它们也没有解决容器(例如表格本身)不够大的问题; 大概有办法做到这一点?也许那个AutoSize属性?

这也可能表明是时候跳槽到WPF了; 我的印象是它专门为这种东西而设计.

基本问题似乎归结为以下几点:

  • 如果我坚持使用Windows窗体,那么实现独立于字体大小的布局有哪些技巧可以在用户设置大字体或将显示设置为120 DPI后继续存在?
  • WPF在这方面是否具有显着的优势,如果是这样,你能否试着说服我这是值得转换的?
  • 对于与字体大小无关的布局,是否存在任何通用的"最佳实践",无论是在.NET堆栈中还是在一般情况下?

.net wpf user-interface fonts winforms

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

防止程序员知道运行时使用的密码

我的应用程序使用用户名和密码连接到FTP服务器.我可以创建加密例程来加密和解密密码,但任何有权访问源代码和加密密码的人都可以解密密码.

有一种简单的方法可以防止每个人知道应用程序使用的整个密码吗?(如果有多个人知道密码的一部分,我认为没关系.)

编辑:我知道FTP不安全.理想情况下,我想要一种适用于需要用户名和密码的任何情况下的技术(例如数据库连接).

security passwords

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

.NET API中的字符串或URI?

我正在为Netflix API编写.NET包装器API.

此时,我可以选择将URL表示为字符串或URI对象.在我看来两者都有一个很好的例子.

因此,如果您使用的是API,您更喜欢哪种?

.net api-design

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

我可以将NuGet用于JavaScript库而无需将它们放在顶级Scripts文件夹中吗?

我喜欢将NuGet用于jQuery,jQuery UI,Modernizr,Knockout.js等等.但NuGet希望将相关文件放入/Scripts,这会变得太混乱.我更喜欢他们进入/Content/Scripts/libraries,或者至少/Scripts/libraries.

这可能吗?

javascript visual-studio-2010 nuget

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

如何使用预先存在的帐户从程序_without_发送电子邮件?

我希望我的程序能够通过电子邮件向我发送错误报告.如何在不对用户名/密码/ SMTP服务器/等进行硬编码的情况下执行此操作.进入代码?(这样做会允许用户反编译程序并接管此电子邮件帐户.)

我被告知你可以通过telnet到端口25做一些事情,但我对细节非常模糊.Google上的大多数代码段都假设您有一个预先存在的帐户,但在这种情况下不起作用.

我使用的是.NET v3.5(特别是C#),但我认为这些想法在大多数语言中都足够相似.只要您意识到我正在为离线应用程序执行此操作,并且不向我提供PHP代码或其他内容,我们应该没问题.

.net email smtp

10
推荐指数
2
解决办法
5739
查看次数

不运行.NET接口上的静态构造函数

您可以在IL中的.NET中的接口上定义静态构造函数.但是,如果这样做,则在接口上运行方法时不会运行静态构造函数:

.method public static void Main() {
    .entrypoint    
    .locals init ( class IInterface cls1 )

    // InterfaceClass static constructor is run
    newobj instance void InterfaceClass::.ctor()
    stloc.0
    ldloc.0
    // IInterface static constructor is not run!!!!!
    callvirt instance int32 IInterface::Method()
    call void [mscorlib]System.Console::WriteLine(int32)
    ret
}

.class public interface IInterface {
    .method private static specialname rtspecialname void .cctor() {
        ldstr "Interface static cctor"
        call void [mscorlib]System.Console::WriteLine(string)
        ret
    }

    .method public abstract virtual instance int32 Method() {}
}

.class public InterfaceClass implements IInterface { …
Run Code Online (Sandbox Code Playgroud)

.net interface static-constructor intermediate-language

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

元素'ToolkitScriptManager'不是已知元素

所以我有一个名为WebParts.aspx的文件,看起来像这样 -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebParts.aspx.cs" Inherits="e.WebParts" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">


    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </asp:ToolkitScriptManager>

    <div>
      <asp:TabContainer ID="TabContainer1" runat="server">


      <asp:TabPanel ID="TabPanel1" runat="server">
      <ContentTemplate>Page One</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel2" runat="server">
      <ContentTemplate>Page Two</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel3" runat="server">
      <ContentTemplate>Page Three</ContentTemplate>
      </asp:TabPanel>

      </asp:TabContainer>
  </div>
  </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这样就可以在标签容器中创建3个选项卡面板.

但是,当我更改该页面以使用MasterPage.master看起来像这样 -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebParts.aspx.cs" Inherits="eservice.WebParts"  MasterPageFile="~/MasterPage.Master"%>

<asp:Content ID="Content2"  
  ContentPlaceHolderID="ContentPlaceHolder1" 
  runat="server">

  <asp:LoginView …
Run Code Online (Sandbox Code Playgroud)

asp.net

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