忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

//===========================
// Version  : ASP2.0
// Language : C#
//===========================
 

foreach文を用いるとこで、IEnumerableインターフェースを介した要素へのアクセスを簡単化することが出来る。
以下のようにforeachを使うことで、コレクションのすべての要素を1回ずつ読み出すことができる。

//----------------------------------------
// foreach(型名 変数 in コレクション)
//   文
//----------------------------------------

<形式>

IEnumerator e = array.GetEnumerator();
while(e.MoveNext())
{
 型名 変数 = (型名)e.Current;
 文
}

<例文>
// int型の配列の要素を読み出して画面に表示
int[] array = new int[10] {1, 2, 4, 8, 16, 32, 64, 128, 256, 512};
foreach(int n in array) {
 Console.Write(n + " ");
}

<実行結果>

1 2 4 8 16 32 64 128 256 512

 


// 引用
//
http://ufcpp.net/study/csharp/sp_foreach.html

PR

//===========================
// Version  : ASP2.0
// Language : C#
//===========================
 

  /// <summary>
  /// GridView作成時
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>

 protected void GridView1_RowCreated(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
 {
   // データ表示行の場合
   if (!(e.Row.RowType == DataControlRowType.DataRow))
   {
     // レコード操作用リンクボタンに行番号の引数を付与する
     foreach (Control control in e.Row.Cells[2].Controls)
     {
       if (control is LinkButton)
       {
        LinkButton linkButton = (LinkButton)control;
        linkButton.CommandArgument = System.Convert.ToString(e.Row.RowIndex);
       }
     }
   }
 }

  /// <summary>
  /// リンククリック時
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>

  protected void LinkButton1_Click1(object sender, EventArgs e)
  {
    LinkButton link = (LinkButton)sender;
    string strKey = GridView1.Rows[int.Parse(link.CommandArgument)].Cells[1].Text;

    Response.Redirect("リンク先?key=" + strKey);

  }


// 引用
// http://www.techbank.jp/vbnet/CustomGridView.html
//===========================
// Version  : ASP2.0
// Language : C#
//===========================


^
 入力文字列の最初にマッチ
$
 入力文字列の最後にマッチ

// コメント使用
Regex regex = new Regex(@"
 ^       # 開始のアンカー
 (?=.*\d)      # 最低でも 1 桁の数字が必要です。
 (?=.*[a-z])   # 小文字が 1 文字必要です。
 (?=.*[A-Z])   # 大文字が 1 文字必要です。
 .{8,10}       # 8 から 10 文字の長さ。
 \s            # 空白を許可
 $             # 終了のアンカー",
 RegexOptions.IgnorePatternWhitespace);

// 引用
//
http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx

//===========================
// Version  : ASP2.0
// Language : C#
//===========================


▼ CONTROL
RegularExpressionValidatorコントロール
 サーバー コントロールから取り込んだ入力の場合

System.Text.RegularExpression.RegExクラス
 クエリ文字列、クッキー、HTML コントロールのような形式の違う入力を検証する場合

▼ PROPERTY

ControlToValidateプロパティ
 検証するコントロール

ValidationExpressionプロパティ
 適切な正規表現

ErrorMessageプロパティ
 検証が失敗した場合に表示するメッセージ

▼ Ex

<asp:RegularExpressionValidator
 ID = "regexpName"
 runat = "server"
 ErrorMessage = "This expression does not validate."
 ControlToValidate = "txtName"
 ValidationExpression = "^[a-zA-Z'.\s]{1,40}$"/>

// 引用
//
http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx

//===========================
// Version  : ASP2.0
// Language : C#
//===========================


// 使用事由
サーバー コントロールを使用していない場合。
フォームフィールド以外のソース(クエリ文字列パラメーター、クッキー等)から入力を検証する必要がある場合。

// 名前空間参照
using System.Text.RegularExpressions;

// インスタンス
Regex reg = new Regex(@"^[a-zA-Z'.]{1,40}$");
Response.Write(reg.IsMatch(txtName.Text));

// スタティック
if (!Regex.IsMatch(txtName.Text, @"^[a-zA-Z'.]{1,40}$"))
{
}

// 引用
//
http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx

1 2 3
> カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
> プロフィール
HN:
Valentine
性別:
女性
職業:
PG
> フリーエリア