-2

私は何を間違っていますか?エラーメッセージは表示されませんが、正しく動作しません -

コードの一部:

    int n = Convert.ToInt32(args.Content);
    if (n >= 10000)
        n = (int) (n - (n * 0.85));
    return n.ToString();

コードの前の部分をコメントした場合にのみ機能します。

    Match match = Regex.Match(args.Content, "ca.*?2013", RegexOptions.IgnoreCase);  
    if (match.Success)
        args.Content = match.Groups[1].Value + "Aktl.";
    return args.Content;

以下は完全なスクリプトです。

using System;
using System.Text.RegularExpressions;
using VisualWebRipper.Internal.SimpleHtmlParser;
using VisualWebRipper;
public class Script
{
    //See help for a definition of WrContentTransformationArguments.
    public static string TransformContent(WrContentTransformationArguments args)
    {
        try
        {
            //Place your transformation code here.
            //This example just returns the input data

            Match match = Regex.Match(args.Content, "ca.*?2013", RegexOptions.IgnoreCase);  
            if (match.Success)
                args.Content = match.Groups[1].Value + "Aktl.";
            return args.Content;
            int n = Convert.ToInt32(args.Content);
            if (n >= 10000)
                n = (int) (n - (n * 0.85));
            return n.ToString();
        }
        catch(Exception exp)
        {
            //Place error handling here
            args.WriteDebug("Custom script error: " + exp.Message);
            return "Custom script error";
        }
    }
}
4

2 に答える 2

2

私はあなたが必要だと思います:

        if (match.Success)
        {
            args.Content = match.Groups[1].Value + "Aktl.";
            return args.Content;
        }

の:

        if (match.Success)
            args.Content = match.Groups[1].Value + "Aktl.";
        return args.Content;

returnステートメントは常に実行され、残りのコードに到達できなくなります。条件式 - - ブラケットなしでは、チェックにif(...)続く次のステートメントのみが含まれます。その方法は常に実行されます。ifreturn

于 2013-02-11T08:05:11.587 に答える
0
return args.Content;

関数からこの行に戻りますが、コントロールはそれ以下にはなりません。

于 2013-02-11T08:04:43.100 に答える