目前分類:C# (23)

瀏覽方式: 標題列表 簡短摘要

好文暫存:C#綜合揭祕—通過修改登錄檔建立Windows自定義協議

原文(簡體):C#综合揭秘——通过修改注册表建立Windows自定义协议

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

在安裝程式中,有時會遇到它的設計是:
移除的檔案 若所在的資料夾 有其他檔案或資料夾,就只把安裝的檔案刪除,仍留下其他(可能是使用者自己放進去)的檔案/資料夾。

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

public static bool IsConnectingServer()
{
    string serverAddress = Properties.Settings.Default.ServerAddress;
    try
    {
        HttpWebRequest request = (HttpWebRequest) WebRequest.Create( serverAddress );
        request.Method = "HEAD";
        HttpWebResponse response = (HttpWebResponse) request.GetResponse();
        return response.StatusCode == HttpStatusCode.OK;
    } catch ( Exception )
    {
        return false;
    }
}

來源:C# Check Remote Server

參考:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

舉例:

using System;
using Microsoft.Win32;
// ...
string keyName = @"HKEY_CURRENT_USER\Software\Microsoft\..."  // 相當於目錄.
string manifestValue = (string) Microsoft.Win32.Registry.GetValue( keyName, "Manifest", null );  // 相當於檔案'Manifest'.

參考:Registry.GetValue 方法 (String, String, Object)

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

目前知道的有:

  • System.IO.StreamWriter
  • System.IO.File.WriteAllLines
  • System.IO.File.WriteAllText
  • System.IO.File.CreateText

System.IO.StreamWriter:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

後來才知道,不存在的路徑+檔案,是無法一次建立的。(目前所知)

 

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

string path = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName;
if ( Environment.OSVersion.Version.Major >= 6 ) {  // 判斷是不是Vista以上.
    path = Directory.GetParent(path).ToString();
}

來源:How can I get the current user directory?

參考:Operating System Version (version number)

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

原來這麼簡單...

Process.Start(@"http://www.google.com");

參考:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
     //This line is so you only do the event once   
     if (e.Url != webBrowser1.Url) 
        return;

        //do you actual code        

}

參考:How to make WebBrowser wait till it loads fully?

 

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) 
    && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);

參考:How to check whether a string is a valid HTTP URL?

 

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

string title = "STRING";
bool contains = title.IndexOf("string", StringComparison.OrdinalIgnoreCase) >= 0;

參考:Case insensitive 'Contains(string)'

 

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

 

程式碼範例:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

一行解決:

string str = System.Text.Encoding.Default.GetString(result);

 

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

1. 首先:要將「System.Management」加入參考。

2. 程式碼:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

C# 在 .NET 3.0 後,可以使用 LINQ 查詢語言,直接對 array 中的值 進行篩選。  寫起來類似 SQL 語言,只是上下順序顛倒過來而已。

相反地,Java 就沒有像 C# 加那麼多東西。

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

在 Java 的 HashMap 使用 "entryset",那在 C# 呢?

C# 的 Dictionary 可用 KeyValuePair 或 DictionaryEntry。

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

以自己為例,用 Java 的 HashMap 用習慣了,對應到 C# 的 Dictionary 一直不知道怎麼取值。

C# 的語法比較特別,取陣列裡的值,'[' ']' 除了代入數值外,大部分的 API 支援 在裡頭填字串。

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

範圍值:

  • long
文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

 

Random rnd = new Random();
int month = rnd.Next(1, 13);  // 1 <= month < 13
int dice = rnd.Next(1, 7);    // 1 <= dice < 7
int card = rnd.Next(52);      // 0 <= card < 52

 

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

呼叫/使用:

int x = 1, y = 2, z = 3 ;
F( x );
F( x, y );
F( x, y, z );

定義:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

1 2