vb
System.Windows.Forms.Application.DoEvents()
C#
Please Use System.WinForms.Application.DoEvents()
vb
System.Windows.Forms.Application.DoEvents()
C#
Please Use System.WinForms.Application.DoEvents()
String.IndexOf 方法(C#)
String.IndexOf 方法 (Char, [startIndex], [count])
報告指定字符在此實例中的第一個匹配項的索引。搜索從指定字符位置開始,並檢查指定數量的字符位置。
參數
value
要查找的 Unicode 字符。 對 value 的搜索區分大小寫。
startIndex(Int32)
可選項,搜索起始位置。不設置則從0開始。
count(Int32)
可選項,要檢查的字符位置數。
返回值
如果找到該字符,則為 value 的索引位置;否則如果未找到,則為 -1。
備註:是按照從左向右的瞬息查找的,如果從右向左,則調用lastIndexOf。
(來源:MSDN:http://msdn2.microsoft.com/zh-cn/library/ms131434(VS.80).aspx)
if (MessageBox.Show("選擇完會馬上存檔", "警告", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
return;
VB:
Dim YourArray() As Integer
...
ReDim Preserve YourArray(i)
C#:
int[] YourArray;
...
int[] temp = new int[i + 1];
if (YourArray != null)
Array.Copy(YourArray, temp, Math.Min(YourArray.Length, temp.Length));
YourArray = temp;
3dsMAX導出.FBX骨骼動畫模型到XNA
首先,XNA的素材管道對骨骼動畫並不完全支持,你需要自己擴展素材管道添加對骨骼動畫的支持。(素材管道[Content Pipeline]的擴展可在XNA教程中找到,此處不詳細介紹)。 其次,網上下載的支持蒙皮動畫的tutorial工程都是已經擴展素材管道,他們的模型可以正常在XNA中顯示。 最後,要將自己在MAX中做的骨骼動畫模型導入到tutorial工程中,使其在XNA中顯示,需要注意幾個細節:1、MAX導出.FBX文件時會有個設置窗口,有個FBX文件格式的選擇(默認是Binary和FBX 2011),要將Version改成FBX 2006,至於Type不改也行(改成ACSII的話,就可以查看.FBX的內容)。如果這裡沒改成2006版本的話,將此骨骼模型添加到tutorial工程下,編譯時就會報錯! 2、通過第1步導出的.FBX文件就可以添加到tutorial工程下,編譯可以通過。但是運行時會出現異常(我的異常是model.tag為null),這是因為.FBX的默認內容處理器是Model - XNA Framework(不支持骨骼動畫),但是tutorial工程中已經擴展了內容處理器(支持骨骼動畫),所以要更改設置: 在自己的.FBX文件上右鍵->屬性,找到Content Processor,改成擴展的內容處理器(我的是AnimatedModel - Skinned Mesh,不同的tutorial這個選項會不同,如果你不能確定是哪個,可以參照tutorial自帶的.fbx文件的Content Processor屬性,改成一樣的就行) 好了,運行程序(當然,要在程序中找到加載.fbx的代碼,將加載的文件名改成自己的模型),我的骨骼動畫模型已經可以正常顯示了。
除了一般的Random方式以外
c#的Guid還蠻方便的
用法如下:
Guid.NewGuid().ToString("N") 結果為:
7ef42579d7214d9e91c44feccd3e576b
Guid.NewGuid().ToString("D") 結果為:
ddfa0936-1a19-4b64-a0ca-6860b78f260e
Guid.NewGuid().ToString("B") 結果為:
{48c908ec-89f0-4d14-a3ee-c210d44d87a3}
Guid.NewGuid().ToString("P") 結果為:
(56de0184-2ced-42a7-ae1e-2c04ddd8159f)
string s = Guid.NewGuid().ToString("N");
byte[] bt = System.Text.UnicodeEncoding.Unicode.GetBytes(s);//產生64 byte
string c = System.Text.UnicodeEncoding.Unicode.GetString(bt);
byte[] be = Guid.NewGuid().ToByteArray();//產生 16 byte
若只要數字就這樣作:
view plainprint?
Guid myGuid = Guid.NewGuid();
byte[] bArr = myGuid.ToByteArray();
int autonum = Math.Abs(BitConverter.ToInt32(bArr,0));
若只要數字的話, 不利用 Guid 使用 Random 更快, 可以這麼做:
string.Format("{0:00000}", (new Random()).Next(100000))
產生5位數字亂數, 左側不滿位數補0的字串產生方式!!
C# 字串變數, 如何包含雙引號或反斜線
By Allen Kuo, 建立日期:2008/01/31 23:09
如果字串裡包括特殊符號,例如換行符號,雙引號等,可以用\,例如\" 表示雙引號
加入書籤:
如果字串裡包括特殊符號,例如換行符號,雙引號等,可以用\,例如\" 表示雙引號
以下是其他的範例
string a="abc\"dd"; //以 \" 表示雙引號 string b= "C:\\Program Files\\"; //以 \\ 表示反斜線
若在字串前加@,會比較方便撰寫,範例如下 string d = @"C:\Program Files\"; //加了@, 只需要寫一個反斜線即可,會比較簡單 string e = @"""C:\Program Files\"""; //加了@, 用"" 二個雙引號來表示一個雙引號
class TestRegularExpressions { static void Main() { string[] sentences = { "cow over the moon", "Betsy the Cow", "cowering in the corner", "no match here" }; string sPattern = "cow"; foreach (string s in sentences) { System.Console.Write("{0,24}", s); if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)) { System.Console.WriteLine(" (match for '{0}' found)", sPattern); } else { System.Console.WriteLine(); } } } }
cow over the moon (match for 'cow' found) Betsy the Cow (match for 'cow' found) cowering in the corner (match for 'cow' found) no match here
宣告:
public class classEvent
{
public event EventHandler 事件_觸發執行;
void 函式A()
{
work e = new work();
事件_觸發執行(e, new EventArgs());
}
}
實作:
classEvent a;
System.Diagnostics.Process.Start("http://tw.yahoo.com/?hpp=r1b");