问题列表 - 第10543页

FormatProvider与扩展方法vs.新类

我想要输出一个整数到罗马数字并由Jesse Slicer 运行这个答案.这是一种扩展方法,但我想知道如何利用ToString(string, IFormatProvider)这样做

int a = 10;
string b = a.ToString("RN", provider);
// OR
string c = string.Format(provider, "{0:RN} blah foo", a);
Run Code Online (Sandbox Code Playgroud)

代替

int a = 10;
string b = a.ParseRomanNumeral();
// OR
string c = string.Format("{0} blah foo", a.ParseRomanNumeral());
Run Code Online (Sandbox Code Playgroud)

我从来没有写过格式提供程序,所以我不确定所涉及的工作,但这是我的问题. 对于像罗马数字这样明确定义的格式转换,您会使用:

  • 格式提供者
  • 使用扩展方法
  • 写一个实现RomanNumeral类Parse,TryParseToString
  • 别的

为什么?

使用string.Format()和它的任何堂兄方法(例如StringBuilder.AppendFormat())会影响你的答案吗?显然,使用扩展方法,您无法使用这些格式化方法之一访问转换.

我认为实现整个色域的自定义类将是最谨慎但也是最耗时的.使用自定义格式提供程序似乎会踩到一些现有全球化的东西(如果你有的话).

c# extension-methods .net-3.5 roman-numerals

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

textNode可以有一个childNode,它是一个elementNode吗?

说,有以下可能:

textNode.appendChild(elementNode);
Run Code Online (Sandbox Code Playgroud)

elementNode指那些nodeType设置为1的那些

textNode指那些nodeType设置为2的那些

生产起来并不容易.

我问这个的原因是我找到了一个函数,它在引用的末尾添加了一个引用链接:

function displayCitations() {
  var quotes = document.getElementsByTagName("blockquote");
  for (var i=0; i<quotes.length; i++) {
  if (!quotes[i].getAttribute("cite")) continue;
  var url = quotes[i].getAttribute("cite");
  var quoteChildren = quotes[i].getElementsByTagName('*');
  if (quoteChildren.length < 1) continue;
  var elem = quoteChildren[quoteChildren.length - 1];
  var link = document.createElement("a");
  var link_text = document.createTextNode("source");
  link.appendChild(link_text);
  link.setAttribute("href",url);
  var superscript = document.createElement("sup");
  superscript.appendChild(link);
  elem.appendChild(superscript);
  }
}
Run Code Online (Sandbox Code Playgroud)

看到最后一行" elem.appendChild(superscript);"哪里elem可以textNode

我认为很难证明它的原因是因为很难获得指定的访问权限textNode.有没有人能够实现这一目标?

javascript dom

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

在C#的应用程序加载期间,我可以捕获丢失的DLL错误吗?

无法找到引用的.dll时是否可以捕获异常?

例如,我有一个C#项目,引用了第三方dll; 如果找不到该dll,则抛出异常.例外是System.IO.FileNotFoundException,但我无法确定将其捕获的位置.以下代码似乎不起作用:

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        try
        {
          // code goes here
        }
        catch (Exception exc)
        {
            MessageBox.Show(exc.ToString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# dll

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

将多个变换应用于UIView/CALayer

将多个变换应用于UIView并且它是相应的CALayer是否有任何问题?

具体来说,您是否可以"混合和匹配"CATransform3D与CGAffineTransforms而不会遇到问题?

在动画另一个变换同时动画时,是否还有直接设置变换的问题?

是否有任何"规则"应该如何做,或任何设计模式?

iphone cocoa-touch core-animation uikit

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

Ruby触发器什么时候有用?

我想通过教程我理解触发器是如何工作的,但是这个例子只是为了教学而设计的.任何人都可以举例说明你实际使用或使用触发器的方法吗?

我正在寻找一个真实的应用程序,而不仅仅是另一个演示.这个工具可以解决什么问题?

以前的链接http://vision-media.ca/resources/ruby/ruby-flip-flop-or-range-operators,但这几天似乎是垃圾邮件.

ruby flip-flop

20
推荐指数
2
解决办法
4804
查看次数

当""== s为假但"".equals(s)为真时

编辑 感谢您的快速回复.请看看真正的问题是什么.这次我大胆了.

我理解==和.equals之间的区别.所以,这不是我的问题(我实际上添加了一些上下文)


我正在为空字符串执行以下验证:

if( "" == value ) { 
    // is empty string 
} 
Run Code Online (Sandbox Code Playgroud)

过去从db中获取值或从另一个节点反序列化对象时,此测试失败,因为两个字符串实例确实是不同的对象引用,尽管它们包含相同的数据.

所以这些情况的解决方案是

if( "".equals( value ) ) {
   // which returns true for all the empty strings
}
Run Code Online (Sandbox Code Playgroud)

我很好.这很清楚.

今天这又发生了一次,但它让我感到困惑,因为这次应用程序是一个非常小的独立应用程序,根本不使用网络,所以没有从数据库中提取新字符串,也不从另一个节点去激活.

所以问题是:


其他情况下:

"" == value // yields false 
Run Code Online (Sandbox Code Playgroud)

"".equals( value ) // yields true
Run Code Online (Sandbox Code Playgroud)

对于本地独立应用程序?

我很确定代码中没有使用新的String().

并且字符串引用可以是""的唯一方法是因为它直接在代码中分配""(或者我认为的那样),如:

String a = "";
String b = a;

assert "" == b ; // this …
Run Code Online (Sandbox Code Playgroud)

java comparison equality equals

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

如何在本地时区打印Python日期时间?

假设我有一个变量t设置为:

datetime.datetime(2009, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)

如果我说str(t),我得到:

'2009-07-10 18:44:59.193982+00:00'
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得类似的字符串,除了以本地时区而不是UTC打印?

python timezone

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

如何在SQL Server 2005数据库中使用T-SQL使用零填充NVARCHAR字段?

我有一个Orders表,它将Ordernumber存储为NVarChar.我们通过按降序查询最大订单号排序并返回前1然后添加1来手动递增订单号.我们在Microsoft CRM 4.0中实现了此功能.

例如订单号(NVarchar)

99
456
32
Run Code Online (Sandbox Code Playgroud)

当我查询上面的值时,它返回99而不是456.我想使用SQL Server 2005中的sql脚本将所有当前的订单号填充到000099或000456之类的内容.所以上面的例子将是

000099
000456
000032
Run Code Online (Sandbox Code Playgroud)

为了实现这个目的,我必须编写什么SQL脚本?

sql t-sql dynamics-crm dynamics-crm-4

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

可以从我的SVN存储库中完全删除文件吗?

我正在使用togise SVN进行一个我独自工作的项目,并且我已经(错误地)将一个巨大的文件提交到我的存储库(VC++智能感知数据库).现在我想从我的存储库中删除此文件以方便其备份.

从我的项目中删除文件并进行提交(显然)并不能解决我的问题,因为该文件的先前版本仍然存在于存储库中.有没有办法解决这个不涉及创建新存储库的问题?


编辑

@ryansstack解决方案工作得很好,就是我所做的(我在我的存储库所在的目录中运行了命令):

首先,我创建了一个我的存储库转储过滤该巨大的文件:

svnadmin dump tcc | svndumpfilter exclude "/trunk/Image Segmentation/Image Segmentation.ncb"  > tcc.bak
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个新的存储库(tcc2)并运行以下命令:

svnadmin load tcc2 < tcc.bak
Run Code Online (Sandbox Code Playgroud)

现在tcc2的转储大小是7 MB而不是170 MB的tcc.

svn version-control tortoisesvn

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

LinqToSql dbml动态切换连接字符串

我们有两个数据库,DEV和STAGING.它们大部分是相同的.我在Web.Config中有一个app settings标签,称之为"mode",还有两个连接字符串条目.

如果mode = DEV我想使用ConnectionString 1,否则使用ConnectionString 2.这在应用程序的某些部分工作正常,但dbml似乎没有切换连接字符串.我在Utilities类中使用此函数

Public Function GetConnectionString() As String
    Dim connectionStringToGet = String.Empty
    Select Case GetCurrentApplicationMode()
        Case "DEV"
            connectionStringToGet = "Dev"
        Case "STAG"
            connectionStringToGet = "Staging"
        Case "PROD"
            connectionStringToGet = "Production"
    End Select
    Return ConfigurationManager.ConnectionStrings(connectionStringToGet).ConnectionString
End Function
Run Code Online (Sandbox Code Playgroud)

这适用于这个遗留应用程序中的无数存储过程,但dbml似乎总是使用Staging连接字符串.

当我查看dbml的属性时,我看到它是硬编码到Staging connectionstring,但我认为我通过更改dbml的designer.vb来覆盖它

Public Sub New()
    MyBase.New(Utilities.GetConnectionString(), mappingSource)
    OnCreated
End Sub

Public Sub New(ByVal connection As String)
    MyBase.New(connection, mappingSource)
    OnCreated
End Sub

Public Sub New(ByVal connection As System.Data.IDbConnection)
    MyBase.New(connection, mappingSource)
    OnCreated
End Sub

Public Sub New(ByVal connection As String, ByVal …
Run Code Online (Sandbox Code Playgroud)

connection-string web-config linq-to-sql

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