问题列表 - 第9443页

C# - 比较字符串时显示差异

在我的asp.net项目中,我有两个字符串(实际上,它们存储在Session对象中,然后我执行.ToString())

这个项目是我网站上免费日语练习的一部分(目前只有意大利语,所以我不会链接/垃圾邮件)

现在我做了if (original == inputted.ToLower()),但我想比较字符串并突出显示屏幕上的差异

像这样:

原文:hiroyashi
用户写道:hiro yo shi

我正在考虑比较两个字符串并使用HTML标记保存另一个变量的差异,然后在Literal控件上显示...但是......如果差异很大,或者输入更短...如何要做到这一点?

它看起来需要大量的编码......或者不是吗?

c# asp.net string

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

使用C++类成员函数作为C回调函数

我有一个C库,需要注册回调函数来定制一些处理.回调函数的类型是int a(int *, int *).

我正在编写类似于以下内容的C++代码,并尝试将C++类函数注册为回调函数:

class A {
  public:
   A();
   ~A();
   int e(int *k, int *j);
};

A::A()
{
   register_with_library(e)
}

int
A::e(int *k, int *e)
{
  return 0;
}

A::~A() 
{

}
Run Code Online (Sandbox Code Playgroud)

编译器抛出以下错误:

In constructor 'A::A()',
error:
 argument of type ‘int (A::)(int*, int*)’ does not match ‘int (*)(int*, int*)’.
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 首先是可以注册一个C++类的memeber函数,就像我想要做的那样,如果是这样的话怎么样?(我在http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html上阅读了32.8 .但在我看来它并没有解决问题)
  2. 是否有替代/更好的方法来解决这个问题?

c c++ interop callback

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

如何创建一个对象,其创建属性隐式指定派生类?

我正在寻找以下模式.(我在Perl工作,但我不认为语言特别重要).

父母班Foo,儿童Bar,Baz,Bazza.

构造Foo的方法之一是解析字符串,该字符串的一部分将隐式指定要创建的类.因此,例如,如果它开始'http:'那么它是一个Bar,但如果它没有,但它包含'[Date]',那么Baz喜欢它,依此类推.

现在,如果Foo知道它的所有子节点,以及什么字符串是Bar,什么是Baz等,它可以调用适当的构造函数.但基类不应该对其子女有任何了解.

我想要的是Foo的构造函数能够依次尝试它的孩子,直到其中一个人说"是的,这是我的,我会创造的东西".

我意识到在一般情况下这个问题没有明确定义,因为可能有多个子接受字符串,因此调用它们的顺序很重要:忽略它并假设字符串的特征这样只有一个子类会喜欢这个字符串.

我提出的最好的方法是让子类在初始化时"注册"基类,以便获取构造函数列表,然后循环它们.但是,我有一个更好的方法吗?

示例代码:

package Foo;

my @children;

sub _registerChild
{
  push @children, shift();
}

sub newFromString
{
  my $string = shift;
  foreach (@children) {
    my $object = $_->newFromString(@_) and return $object;
  }
  return undef;
}

package Bar;
our @ISA = ('Foo');

Foo::_registerChild(__PACKAGE__);

sub newFromString
{
  my $string = shift;
  if ($string =~ /^http:/i) {
    return bless(...);
  }
  return undef;
}
Run Code Online (Sandbox Code Playgroud)

perl inheritance constructor design-patterns creation

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

在不创建新字符串的情况下修剪Ruby中的字符串的规范方法是什么?

这就是我现在所拥有的 - 它对于它所做的工作看起来过于冗长.

@title        = tokens[Title].strip! || tokens[Title] if !tokens[Title].nil?
Run Code Online (Sandbox Code Playgroud)

假设标记是通过分割CSV线获得的数组.现在像条带的功能!的Chomp!等.如果字符串未被修改,则返回nil

"abc".strip!    # => nil
" abc ".strip!  # => "abc"
Run Code Online (Sandbox Code Playgroud)

如果Ruby包含额外的前导或尾随空格而不创建副本,那么Ruby的方法是什么?

如果我想做的话会变得更加丑陋 tokens[Title].chomp!.strip!

ruby string

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

.NET EDIFACT/X12框架

我们需要为客户端处理一些EDI消息,我想知道是否有人可以推荐一些可以完成任务的组件(不一定是免费的).我对能够将EDI消息解析为.NET结构和某种传输协议(SMTP,FTP,HTTP,AS2)等实现的框架感兴趣.

.net components edi x12 edifact

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

Restful_authentication与Authlogic

您有什么推荐的吗?

Authlogic还是restful_authentication?

将电子邮件激活步骤构建为authlogic是困难的(据我所知,Authlogic没有包含此功能).

ruby ruby-on-rails

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

Objective-C相当于Java包?

什么是Java包的Objective-C等价物?如何在Objective-C中分组和组织课程?

objective-c

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

从Java调用Windows内核函数的最简单方法是什么?

在寻找如何做到这一点时,我发现了一些关于不同选项的模糊讨论,比如JNI和JNA,但在具体例子方面并不多.

上下文:如果Java File.renameTo()无法完成它的任务(无论出于何种原因; 它有点问题),我想回到直接使用这个本机Windows函数,它在kernel32.dll中定义(来自这个答案):

BOOL WINAPI MoveFile(
  __in  LPCTSTR lpExistingFileName,
  __in  LPCTSTR lpNewFileName
);
Run Code Online (Sandbox Code Playgroud)

那么,使用任何方法,您将如何从Java代码中调用该函数?我正在寻找最简单的方法,使用最少量的非Java代码或额外的步骤(例如在编译或部署中).

java windows java-native-interface winapi jna

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

摆脱不会死的红宝石宝石

我有一些不会消失的红宝石宝石.

我认为这与我安装它们时有关.偶尔我会忘记在进行gem安装之前使用"sudo",这会导致写入错误,并且我可以收集的内容会将gem的副本放在我的用户目录中,而不是它可以运行的某个地方.但是宝石卸载不起作用.它不断显示在'gem list'中,但不能从gem uninstall或sudo gem uninstall中卸载它.我在'gem environment'中找到路径后尝试直接删除一个gem,但仍然将gem留在列表中.

还可以删除所有宝石并从头开始吗?这些让我疯狂.

我正在运行OS X.

ruby rubygems ruby-on-rails

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

验证电子邮件地址

我正在尝试使用以下代码使用c#发送电子邮件.

MailMessage mail = new MailMessage();
mail.From = new MailAddress(fromAddress, friendlyName);
mail.To.Add(toAddress);
mail.CC.Add(ccAddress);

//set the content
mail.Subject = emailSubject;
mail.Body = emailHeader + "\n" + emailBody;

//send the message
SmtpClient smtp = new SmtpClient(ServerAddress);
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
mail.IsBodyHtml = true;
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

现在我的函数收到的"toAddress"字符串可能包含一个地址,或者它可能包含许多逗号分隔的地址.

现在的问题是,在多个逗号分隔的地址的情况下,其中一个或两个可能是错误的电子邮件地址格式.

因此,当我尝试使用此代码发送电子邮件时,我得到例外:

"指定的字符串不是电子邮件地址所需的格式."

有没有办法验证逗号分隔的电子邮件地址?我曾在某处读到,验证电子邮件地址的唯一方法是向其发送电子邮件,因为验证电子邮件地址的正则表达式可能会非常庞大​​.

此外,我无法控制设计,或者地址字符串如何影响我的功能,我无法在UI中添加电子邮件验证,所以我很无奈......

我的问题是电子邮件不会被传递到逗号分隔字符串中的所有地址,即使只有一些地址的格式错误.

有没有办法在.NET中正确验证电子邮件地址?有没有办法清理坏的电子邮件地址并将邮件发送给好的邮件地址?

.net c# email

28
推荐指数
6
解决办法
8万
查看次数