javaÓëc#ͨÐÅÊý¾Ýת»»ÎÊÌâ
/ÓÉÓÚJAVAÓïÑÔµÄÊý¾ÝÀàÐͶ¼ÊÇÓзûºÅÀàÐÍ£¬¶øC# C++Ò»°ãÊý¾ÝÀàÐͶ¼ÊÇ·ÖÓзûºÅºÍÎÞ·ûºÅ,
//Òò´ËÔÚͨÐŹý³ÌÖд«µÝµÄByte[]ÎÞ·¨Ö±
½Óת»»³ÉC#ÐèÒªµÄÀàÐÍ£¬
//ÒÔǰµ¹ÊÇûעÒâÕâЩϸ½Ú£¬ÒòΪһ°ãÓÃÒ»ÖÖÓïÑÔ±à³Ì£¬
//´ó¶¼ÓÐÄÚÖõÄת»»·½·¨¡£¿çÓïÑÔ»·¾³µÄת»»¾ÍµÄ×Ô¼º¶¯
ÊÖÏë°ì·¨ÁË¡£
1¡¢javaµÄByte[]ת»»³Éc#µÄInt32
private int
CoverJavaByteToInt(byte[] bytes){
char[] chars =
Encoding.ASCII.GetChars(bytes);
int r = 0;
r |= (((int)(chars[0]))
& 0xff) << 24;
r |= (((int)(chars[1])) & 0xff)
<< 16;
r |= (((int)(chars[2])) & 0xff) << 8;
r |=
(((int)(chars[3])) & 0xff);
return r;
}
2¡¢javaµÄByte[]ת³Éc#µÄ
unshort
private ushort CoverJavaByteToUnshort(byte[] bytes){
ushort
r = 0;
char[] chars=Encoding.ASCII.GetChars(bytes);
r |=
(ushort)((chars[0] & 0xff) << 8);
r |= (ushort)(chars[1]
& 0xff) ;
return r;
}
´Ë´úÂë»á³öÏÖ´íÎóÔÚijЩÇé¿ö£¬´óÖÂÔÒòÊÇÒòΪת»»charʱֵÔâµ½¸Ä±ä£¬Ó¦¸ÃÊDZíʾ·¶Î§ÎÊÌâµ¼ÖÂ
private ushort
CoverJavaByteToUnshort(byte[] bytes){
ushort r = 0;
r |=
(ushort)((bytes[0] & 0xff) << 8);
r |= (ushort)(bytes[1]
& 0xff);
return r;
}
´Ë´úÂëĿǰ²âÊÔûÎÊÌâÁË£¬Èç¹ûËÓöµ½ÌØÊâÇé¿ö ÇëÓëÎÒÁªÏµ
3¡¢
javaµÄByte[]ת³Éc#µÄstring
£¨×¢Ò⣺ÎÒÕâ¸öº¯ÊýÊǸù¾ÝÎÒ¹¤×÷ÐèҪдµÄÒòΪ¿ÉÄÜ´æÔÚ¶à¸östring»òÆäËûÊý¾ÝÀàÐÍÔÚÕû¸öÊý¾ÝÁ÷
ÖУ¬ÈçÄã½ÓÊÕµÄÊý¾ÝÁ÷¾ÍÊÇ×Ö·û´®£¬ÍêÈ«¿ÉÒÔûÕâôÂé·³£¬Çë×ÔÐÐÐ޸ģ©///
/// ת»»Byte[]µ½String ĬÈϲÉÓÃUTF-8///
/// Êý¾ÝÁ÷µÄBYTEÊý×é/// ×îÖÕת»»½á¹û×Ö·û´®
/// StringµÄÔÚÊý¾ÝÁ÷ÖÐµÄÆðʼλÖÃ
///
ÏÂÒ»¸öÊý¾ÝÀàÐÍÔÚÊý¾ÝÁ÷ÖÐµÄÆðʼλÖÃ
private int CoverJavaByteToString(byte[] bytes,ref
string str,int indexStart){
byte[] uidLen = new byte[2];
Array.Copy(bytes,indexStart, uidLen, 0, 2);
ushort len =
CoverJavaByteToUnshort(uidLen);
str =
Encoding.UTF8.GetString(bytes,2+indexStart, len);
return
str.Length+2+indexStart;
} ......
Ïà¹ØÎĵµ£º
´ó²¿·ÖµÄ½âÊÍÐͽű¾ÓïÑÔ¶¼Ìṩ eval ·½·¨À´Íê³É¶¯Ì¬´úÂëµÄ½âÊÍÖ´ÐУ¬ C# È´²¢²»Ìṩ£¨Ïò Java ѧϰ£©¡£²»¹ýÔÚ .NET Framework Àà¿âÀïÃæÌṩµÄ Microsoft.JScript ÃüÃû¿Õ¼äµ¹Êǰüº¬ÁËÖ§³ÖʹÓÃJScript ÓïÑÔ±àÒëºÍÉú³É´úÂëµÄÀà¡£
ÏÈÉÏ´úÂ룺
¡¡¡¡¸ÃÀàÐèÒªÄãÌí¼Ó¶Ô³ÌÐò¼¯ Microsoft.JScript µÄÒýÓã»Èç¹û°Ñ“current v ......
¡¡¡¡¡¡ÓÃc#¸øPDA×öÁËÒ»¸öPC¶ËµÄͨѶ³ÌÐò£¬ÐèÒª±£´æÁ½¸ö²ÎÊý¡£ÓÃDelphiʱ£¬ÊDZ£´æÔÚiniÎļþÖУ¬c#¶ÁдXML±È½Ï·½±ã£¬¾ÍÓÃxmlÎļþÀ´±£´æÁË¡£
¡¡¡¡¡¡
¡¡
class CXmlClass
{
private string XmlFilePath;
/// <summary>
/// ÏÂÔØµ½PDAµÄTXTÎļþ·¾¶¡¡
/// </summary>
......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class _Default : Syste ......
×Ô¶¯×°ÏäÓë²ðÏäµÄ¹¦ÄÜÊÂʵÉÏÊDZàÒëÆ÷À´°ïÄúµÄ棬±àÒëÆ÷ÔÚ±àÒëʱÆÚÒÀÄúËù±àдµÄÓï·¨£¬¾ö¶¨ÊÇ·ñ½øÐÐ×°Ïä»ò²ðÏ䶯×÷¡£ÀýÈ磺
Integer i = 100.Ï൱ÓÚ±àÒëÆ÷×Ô¶¯ÎªÄú×÷ÒÔϵÄÓï·¨±àÒ룺
Integer i = new Integer(100).ËùÒÔ×Ô¶¯×°ÏäÓë²ðÏäµÄ¹¦ÄÜÊÇËùνµÄ“±àÒëÆ÷ÃÛÌÇ”(Compiler Sugar)£¬ËäȻʹÓÃÕâ¸ö¹¦Äܷܺ½±ã£¬µ ......
1.Duplicated Code ´úÂëÖØ¸´¼¸ºõÊÇ×î³£¼ûµÄÒìζÁË¡£ËûÒ²ÊÇRefactoringµÄÖ÷ҪĿ±êÖ®Ò»¡£´úÂëÖØ¸´ÍùÍùÀ´×ÔÓÚcopy-and-pasteµÄ±à³Ì·ç¸ñ¡£ÓëËûÏà¶ÔÓ¦OAOOÊÇÒ»¸öºÃϵͳµÄÖØÒª±êÖ¾¡£ 2.Long method ËüÊÇ´«Í³½á¹¹»¯µÄ“ÒŶ¾”¡£Ò»¸ö·½·¨Ó¦µ±¾ßÓÐ×ÔÎÒ¶ÀÁ¢µÄÒâͼ£¬²»Òª°Ñ¼¸¸öÒâͼ·ÅÔÚÒ»Æð¡£ 3.Large Class ´óÀà¾ÍÊÇÄã°ÑÌ«¶ ......