Facebook にログイン認証を設定していると、ログイン時にセキュリティコードの入力が促されるのだが、このセキュリティコードが届かない場合、アプリから生成するか、事前にコードを取得していなければならない。
コードの取得方法
- 設定(画面右上の ▼)
- セキュリティ
- ログイン認証
- 携帯電話を持っていない時に使用すためコードを取得
- ログイン認証コード(8 桁)をメモしておく(他のクラウドサービス等に保存しておくといいかもしれない)
string t = "1", f = "0"; // true bool result1 = Convert.ToBoolean(Convert.ToInt32(t)); // false bool result2 = Convert.ToBoolean(Convert.ToInt32(f));VB.NET の場合。
Dim t = "1", f = "0" ' True Dim result1 = Convert.ToBoolean(Convert.ToInt32(t)) ' False Dim result2 = Convert.ToBoolean(Convert.ToInt32(f))理想的なことを言うと、もしこのような変換が必要な場面があったとしたら、それは設計自体再考すべきであると思うが……。
オブジェクトを DBNull から他のタイプにキャストすることはできません。SqlCommand.ExecuteScalar メソッドの戻り値のキャストが失敗すると、以上のようなエラーが出る。この ExecuteScalar メソッドの挙動は少々クセがあるようだ。
場所 System.DBNull.System.IConvertible.ToInt32(IFormatProvider provider)
場所 System.Convert.ToInt32(Object value)
// obj は Object 型の変数 if (obj == null || obj == DBNull.Value) { // 戻り値がない。 }SqlCommand.ExecuteScalar メソッド
Dictionary<string, int> dic = new Dictionary<string, int>(); dic.Add("hoge", 1); dic.Add("gege", 2); int hogeValue = 0; if (dic.ContainsKey("hoge")) { // キー名が一致しない場合は例外が発生する。 hogeValue = dic["hoge"]; } // ほんの僅かだが、こちらの方が速いというのが一般的に言われているが、 // 逆に例外が発生しないためキー値がなかった場合の後続の処理に注意を払う必要がある。 dic.TryGetValue("hoge", out hogeValue);Dictionary
string originalString = "これはテストなんですよ。<br>そうですね。<BR>"; string replaced = Regex.Replace(originalString, "<br>", "", RegexOptions.IgnoreCase); // 変換後:これはテストなんですよ。そうですね。VB の場合。
Dim originalString = "これは VB のテストなんですよ。<br>そうですね。<BR>" Dim replaced = Regex.Replace(originalString, "<br>", "", RegexOptions.IgnoreCase) ' 変換後:これは VB のテストなんですよ。そうですね。RegexOptions には、上記以外にも色々と指定できる。
string selected = (string)Request.Form["Prefectures"];
FuncgetwarekiName = (era) => { string warekiName = string.Empty; switch (era) { case 1: warekiName = "明治"; break; case 2: warekiName = "大正"; break; case 3: warekiName = "昭和"; break; case 4: warekiName = "平成"; break; } return warekiName; }; int currentYear = DateTime.Today.Year; for (; currentYear >= DateTime.Today.Year - 100; currentYear--) { // 西暦だけで良ければ currentYear にセットされた値をそのまま使用すれば良い。 Console.WriteLine(currentYear + "年"); } currentYear = DateTime.Today.Year; for (; currentYear >= DateTime.Today.Year - 100; currentYear--) { // 和暦が欲しい場合は using System.Globalization を追加してから変換する。 JapaneseCalendar calendar = new JapaneseCalendar(); int wareki = calendar.GetYear(new DateTime(currentYear, 1, 1)); int era = calendar.GetEra(new DateTime(currentYear, 1, 1)); Console.WriteLine(currentYear + "(" + getwarekiName(era) + wareki + "年)"); }
ArrayList arr = new ArrayList(); arr.Add("山口太郎"); arr.Add("山田次郎"); arr.Add("山品三郎"); // .NET Framework 3.5 以降 List特に注意しなければならないのは、ArrayList はタイプセーフ(厳密な型定義がされていない)ではないので、変換する型とは違う値がある場合は落ちる。元々、ArrayList 自体は今ではあまり推奨されないので、すでにあるソースで、確実にその型のデータが入っていることが保証されている場合のみ以上のような変換をするといい。lst1 = arr.Cast ().ToList(); // .NET Framework 2.0 List lst2 = new List (arr.ToArray(typeof(string)) as string[]); // キャスト方法は以下でも良い。 List lst3 = new List ((string[])arr.ToArray(typeof(string)));