问题列表 - 第10759页

C#Tokenizer - 保留分隔符

我正在努力将代码从JAVA移植到C#,而部分JAVA代码使用了tokenizer - 但我的理解是,Java中stringtokenizer生成的数组也会有分隔符(在这种情况下为+, - ,/,*,(,))作为代币.我试图使用C#Split()函数,但它似乎消除了分隔符本身.最后,这将解析一个字符串并将其作为计算运行.我做了很多研究,但没有找到任何关于这个主题的参考资料.

有谁知道如何让它们遇到的实际分隔符在split数组中?

令牌化代码:

public CalcLexer(String s)
{
    char[] seps = {'\t','\n','\r','+','-','*','/','(',')'};
    tokens = s.Split(seps);
    advance();
}
Run Code Online (Sandbox Code Playgroud)

测试:

static void Main(string[] args)
    {
        CalcLexer myCalc = new CalcLexer("24+3");
        Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)

"24 + 3"将产生以下输出:"24","3"我正在寻找输出"24","+","3"

在完全公开的性质中,该项目是类分配的一部分,并使用以下完整的源代码:

http://www.webber-labs.com/mpl/source%20code/Chapter%20Seventeen/CalcParser.java.txt http://www.webber-labs.com/mpl/source%20code/Chapter%20Seventeen/CalcLexer .java.txt

c# stringtokenizer

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

我该如何保存我的密码?

我正在JSF中编写一个新站点.目前我编程登录.
几年前我使用过md5,但是使用Rainbow Tables我觉得它的noch更安全了.
那么,我应该如何将密码存储在数据库中?

security passwords md5 sha1

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

XSLT:<xsl:strip-space>不起作用

我的应用程序中有一个servlet过滤器,它拦截所有传入的请求,并尝试从传入的XML中去除空格,并将生成的"干净"XML写入响应.我正在使用XSLT来实现这一目标.请参阅下面的XSLT:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="xml" omit-xml-declaration="no" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="@*|node()">
<xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

但是,这没有按预期工作.生成的XML与原始XML相同(尽管在样式表中使用了<xsl:strip-space elements ="*"/>.

请帮助我做到这一点.

问候,
- Ashish

xml xslt

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

SQL Server中用户和登录之间的区别

我最近遇到过SQL Server的许多不同领域,我通常不会搞砸.让我困惑的其中一个是登录和用户区域.好像它应该是一个非常简单的话题......

似乎每次登录只能有1个用户,每个用户只能登录1次.

登录可以与多个表相关联,从而将该用户与许多表相关联.

所以我的问题是为什么即使有登录和用户?他们似乎几乎是同一个人.有什么不同,或者我似乎缺少什么?

sql sql-server sql-server-2005

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

为复合对象编写比较器以进行二进制搜索

我有一个类和实例列表,看起来像这样(更改字段名称以保护无辜/专有):

public class Bloat
{
    public long timeInMilliseconds;
    public long spaceInBytes;
    public long costInPennies;
}

public class BloatProducer
{
    final private List<Bloat> bloatList = new ArrayList<Bloat>();
    final private Random random = new Random();
    public void produceMoreBloat()
    {
       int n = bloatList.size();
       Bloat previousBloat = (n == 0) ? new Bloat() : bloatList.get(n-1);
       Bloat newBloat = new Bloat();
       newBloat.timeInMilliseconds = 
          previousBloat.timeInMilliseconds + random.nextInt(10) + 1;
       newBloat.spaceInBytes = 
          previousBloat.spaceInBytes + random.nextInt(10) + 1;
       newBloat.costInPennies = 
          previousBloat.costInPennies + random.nextInt(10) + 1;
       bloatList.add(newBloat);
    } …
Run Code Online (Sandbox Code Playgroud)

java binary-search comparator

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

为我的进程禁用Windows错误报告(Dr. Watson)

我有一个应用程序托管一些不稳定的第三方代码,我无法在外部进程中控制,以保护我的主应用程序免受它所展示的令人讨厌的错误.我的父进程正在监视另一个进程,并在失败时执行"正确的事情(tm)".

我遇到的问题是,Watson博士仍在检测隔离进程中的崩溃,并在下行过程中附加到进程以进行崩溃转储.这有两个问题:1.显着减慢我检测故障所需的时间,因为在进行故障转储时进程保持活动状态.2.向用户显示恼人的弹出窗口,询问他们是否要将错误报告提交给Microsoft.

显然,我更愿意修复子进程中的错误,但鉴于它不是一个选项,我希望能够有选择地禁用Dr. Watson(以及Vista +中的Windows错误报告).

我在流程中运行了一些自己的代码,然后再转到不受信任的位,所以如果有一个我可以调用的API会影响当前进程,那就没问题了.

我知道:http://support.microsoft.com/default.aspx/kb/188296会禁用Dr.Watson整个机器.我不想这样做,因为它会让我成为一个糟糕的公民,无法在机器范围内进行设置.

我也知道Vista +中的WerSetFlags选项似乎会禁用当前进程的Windows错误报告,但我需要一些能够在早期操作系统版本上禁用Dr.Watson的东西.

windows windowserror drwatson

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

如何使用jQuery访问一些JSON?

我认为这是一个简单的问题,我之前没有像以前那样使用JSON.

很简单,我有一个JSON对象:

fc_json = {
    "product_count": 1,
"total_price": 199.95,
"total_weight": 1,
"session_id": "26e8og4ldmlunj84uqf04l8l25",
    "custom_fields":{
        "affiliateID":"25"
    },
"messages":{
    "errors":[],
    "warnings":[],
    "info":[]
}
};
Run Code Online (Sandbox Code Playgroud)

我想用jQuery提取affiliateID的变量.有一个简单的方法吗?我真的不知道.

jquery json

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

从Directories Only JFileChooser返回的路径的一部分有时是重复的

在我的应用程序中,我希望用户能够选择一个目录来存储内容.我有一个文本字段,我用它来显示他们选择的目录.如果他们只是点击一个目录(不要浏览它),一切都很好.但是,如果他们双击目录并查看其中,则目录名称是重复的.

防爆.他们在主目录中,单击文件夹桌面...返回的路径是〜/ Desktop.另一方面,如果它们在主目录中,双击文件夹Desktop,现在在Desktop文件夹中,返回的路径是〜/ Desktop/Destkop.

这是我正在做的事情:

JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(false);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = chooser.showOpenDialog(this);

if (returnVal == JFileChooser.APPROVE_OPTION) {
    File f = chooser.getSelectedFile();
    loadField.setText(f.getPath());
}
Run Code Online (Sandbox Code Playgroud)

我也试过做类似的事情,chooser.getCurrentDirectory()但这也不起作用.

编辑:使用Mac OS X,Java 1.6

java swing jfilechooser

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

在WCF中将对象数组序列化为JSON以符合OpenSearch

我正在尝试编写符合OpenSearch规范的OpenSearch建议服务.

http://www.opensearch.org/Specifications/OpenSearch/Extensions/Suggestions

此规范要求服务返回JSON数组,第一个元素是字符串,以下元素是字符串数组.我可以通过返回一个字符串数组(string [] [])并让WCF将其序列化为JSON来获得它.但是,为了符合规范,我试图返回一个对象数组(object []),第一个是字符串,其余的是字符串数组(string []).

每当我尝试返回对象数组时,它都不起作用,例如:

来自服务:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class SuggestionService : ISuggestionService
{
    public object[] Search(string searchTerms)
    {
        SearchSuggestions = new object[4];
        SearchText = searchTerms;
        SearchSuggestions[0] = SearchText;
        Text = new string[10];
        Urls = new string[10];
        Descriptions = new string[10];

        // Removed irrelevant ADO.NET code
        while (searchResultReader.Read() && index < 10)
        {

            Text[index] = searchResultReader["Company"].ToString();
            Descriptions[index] = searchResultReader["Company"].ToString();
            Urls[index] = "http://dev.localhost/Customers/EditCustomer.aspx?id=" +
                          searchResultReader["idCustomer"];
            index++;
        }

        SearchSuggestions[1] = Text;
        SearchSuggestions[2] = Descriptions;
        SearchSuggestions[3] = Urls;
        return …
Run Code Online (Sandbox Code Playgroud)

asp.net wcf json

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

当重载operator <<时,std :: endl是未知类型

我重载了运算符<<

template <Typename T>
UIStream& operator<<(const T);

UIStream my_stream;
my_stream << 10 << " heads";
Run Code Online (Sandbox Code Playgroud)

工作但是:

my_stream << endl;
Run Code Online (Sandbox Code Playgroud)

给出编译错误:

错误C2678:二进制'<<':找不到哪个运算符带有'UIStream'类型的左操作数(或者没有可接受的转换)

my_stream << endl工作的工作是什么?

c++ stl operator-overloading

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