カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

null合体演算子

PHPでもPHP7からnull合体演算子がサポートされるようになりました。
よく使う場面としては、nullの場合は空の文字列を返したい等です。

$val = null;
echo $val ?? "default";

出力結果

default

その他、C#やSwiftでも使えます。
JavaScriptはES2020からサポートされるようになったようです。
※Swiftの場合は「nil合体演算子」と呼ばれます。

なお、Perl(5.10以降)ではnull合体演算子は//だったりするので、言語によって違いがあります。
各言語仕様をご確認ください。

ちなみにVisualBasicだとNz関数がそれに当たるんでしょうか。
CSVエクスポートでのテキストデータのNull値について ACCESS

428 views

HTMLソースを取得する VisualC#

System.Net.WebClientクラスを使用してHTMLソースを取得します。

//参照を追加
using System.Net;

・単純なダウンロード

//WebClientの作成
WebClient wc = new WebClient();

//文字コードを指定(Shift_JIS)
wc.Encoding = Encoding.GetEncoding(932);

//HTMLソースをダウンロードする
string source = wc.DownloadString(url);

//後始末
wc.Dispose();

・Timeout設定ができるようにするには

//文字コードを指定(Shift_JIS)
Encoding enc = Encoding.GetEncoding(932);

HttpWebRequest req =
    (HttpWebRequest)WebRequest.Create(url);

req.Timeout = 3000;

WebResponse res = req.GetResponse();

//文字コードを指定(Shift_JIS)し、HTMLソースをダウンロードする
Stream st = res.GetResponseStream();
StreamReader sr = new StreamReader(st, enc);

source = sr.ReadToEnd();

//後始末
sr.Close();
st.Close();

文字コードについてはこちらをご覧ください。
[テキストファイルの読み込みと書き込み]

1,200 views

C# ユーザー設定の落とし穴

C#で開発をしていて設定部分で少しハマったので書き留めておきます。

ユーザー設定を保存したりできるようにするためにProperties-Settings.settingsを使うことがあると思いますが、
設定が必要なくなったので全ての設定を削除したときに、予期せぬところでエラーが発生することがありました。

発生したエラーも起きるはずもないところなので頭を抱えていましたが、
再構築みたいなものがないかな?と探していたら「同期」ボタンがあるのを発見。
これを押せば解決しました。

1,299 views

VisualC#でSQLServerへの接続

VisualC#でSQLServerに接続し、データを取得するサンプルです。
割と簡単に取得できますので、是非やってみてください。

まずはSqlClientの参照が必要です。

using System.Data.SqlClient;

接続の設定をします。

private string GetConnectionString()
{
    var builder = new SqlConnectionStringBuilder()
    {
        DataSource = "サーバーのIPアドレス",
        InitialCatalog = "データベース名",
        IntegratedSecurity = false, //User ID および Password を接続文字列中に指定するか
        UserID = "ユーザーID",
        Password = "パスワード"
    };

    return builder.ToString();
}

続きを読む…»

2,103 views

コンピュータの再起動とシャットダウン

コンピュータの再起動とシャットダウンする方法をご紹介します。

コンピュータの再起動

int flag = 0;
flag = ShutdownLibWrap.Reboot;
flag |= ShutdownLibWrap.ForceIfHung;
ShutdownLibWrap.DoExitWindows(flag);

シャットダウンのキャンセル

何か処理を実行しているときに、Windows Update等で勝手にシャットダウンされないようにしたいときに便利です。

フォームのLoadイベントに以下を記述します。

// アプリケーションが閉じられる時のイベントを追加
SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);

シャットダウンを検知したらキャンセルします。

private void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
    e.Cancel = true;
}
3,622 views