全国县及县以上行政区划代码信息类(C#.Net)

来源:互联网 发布:关于基础编程的书 编辑:程序博客网 时间:2024/05/04 13:05

根据 水如烟的vb代码转换过来的C#代码 感谢水如烟..

 

/// ----------------------------------------------------------------------------- 
/// Project : LzmTW.Common 
/// Class : Common.RegionalCodeClass.RegionalCompare 
/// 
/// ----------------------------------------------------------------------------- 
/// <summary> 
/// 按区划的代码排序 
/// </summary> 
/// <remarks> 
/// </remarks> 
/// <history> 
/// [lzmtw] 2005-10-24 Created 
/// </history> 
/// ----------------------------------------------------------------------------- 

private class RegionalCompare : System.Collections.IComparer 

    
public int System.Collections.IComparer.Compare(object x, object y) 
    

        
return ((Regional)x).Code.CompareTo(((Regional)y).Code); 
    }
 
}
 

 

public class RegionalCodeClassClass 

    
private RegionalCollection _Collection; 
    
private System.Collections.IDictionaryEnumerator _Enumerator; 
    
//默认数据文件 
    private string _TxtFile = System.AppDomain.CurrentDomain.BaseDirectory + "/全国行政区划代码.txt"
    
private string _XmlFile = System.AppDomain.CurrentDomain.BaseDirectory + "/全国行政区划代码.xml"
    
    
public RegionalCodeClassClass() 
    

        _Collection 
= new RegionalCollection(); 
        
    }
 
    
    
"对外属性" 
    
    
"装入数据方式" 
    
"导出数据方式" 
    
    
"排序方式" 
    
"查找方式"
 
        } 
    } 
    
    
private void Search_Way(Regional.KindType Value) 
    

        
foreach (Regional o in sNowItems) 
            
if (o.Kind.Equals(Value)) 
                Search_Add(o); 
            }
 
        }
 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 按代码查询 
    
/// </summary> 
    
/// <param name="iCode">代码</param> 
    
/// <returns>区划集</returns> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-24 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public Regional[] SearchByCode(string iCode) 
    

        Search_Begin(); 
        Search_Way(iCode, 
"Code"); 
        
return sTmpRegion; 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 按名称查询 
    
/// </summary> 
    
/// <param name="iName">名称</param> 
    
/// <returns>区划集</returns> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-24 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public Regional[] SearchByName(string iName) 
    

        Search_Begin(); 
        Search_Way(iName, 
"Name"); 
        
return sTmpRegion; 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 按类型查询 
    
/// </summary> 
    
/// <param name="iKind">类型</param> 
    
/// <returns>区划集</returns> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-24 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public Regional[] SearchByKind(string iKind) 
    

        Search_Begin(); 
        Search_Way(iKind, 
"Kind"); 
        
return sTmpRegion; 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 按类型查询 
    
/// </summary> 
    
/// <param name="iKind">类型</param> 
    
/// <returns>区划集</returns> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-24 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public Regional[] SearchByKind(Regional.KindType iKind) 
    

        Search_Begin(); 
        Search_Way(iKind); 
        
return sTmpRegion; 
    }
 
    
    
#endregion 
    

 

/// ----------------------------------------------------------------------------- 
/// Project : LzmTW.Common 
/// Class : Common.RegionalCodeClass.Regional 
/// 
/// ----------------------------------------------------------------------------- 
/// <summary> 
/// 区划定义 
/// </summary> 
/// <remarks> 
/// </remarks> 
/// <history> 
/// [lzmtw] 2005-10-24 Created 
/// </history> 
/// ----------------------------------------------------------------------------- 

public class Regional 

    
private string _Code; 
    
private string _Name; 
    
private string _FullName; 
    
private KindType _Kind; 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// New 
    
/// </summary> 
    
/// <param name="iCode">区划码</param> 
    
/// <param name="iName">名称</param> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public Regional(string iCode, string iName) 
    

        _Code 
= iCode; 
        _Name 
= iName; 
        _Kind 
= GetKind(iCode); 
        
//取类型 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 区划码 
    
/// </summary> 
    
/// <value></value> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public string Code 
        
get return _Code; } 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 名称 
    
/// </summary> 
    
/// <value></value> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public string Name 
        
get return _Name; } 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 全名 
    
/// </summary> 
    
/// <value></value> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public string FullName 
        
get return _FullName; } 
        
set { _FullName = value; } 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 区划类型 
    
/// </summary> 
    
/// <value></value> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public KindType Kind 
        
get return _Kind; } 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 转换数组 
    
/// </summary> 
    
/// <returns></returns> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public Array ToArray() 
    

        
return new string[] {_Code, _Name, _FullName, _Kind.ToString}
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 基本信息 
    
/// </summary> 
    
/// <returns></returns> 
    
/// <remarks> 
    
/// 如:110107 北京市石景山区 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public override string ToString() 
    

        
return _Code + " " + _FullName; 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 取区划类型 
    
/// </summary> 
    
/// <param name="iCode"></param> 
    
/// <returns></returns> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    private KindType GetKind(string iCode) 
    

        KindType Result 
= KindType.未定义; 
        
switch (Convert.ToInt16(iCode.Substring(22))) 
            
//中组 
            case 0
                
//XX00XX 
                switch (Convert.ToInt16(iCode.Substring(42))) 
                    
//尾组 
                    case 0
                        
//XX0000 
                        Result = KindType.省; 
                        
break
                    
default
                        
//XX00-- 
                        break
                    
//未定义 
                }
 
                
break
            
default
                
//XX--XX 
                switch (Convert.ToInt16(iCode.Substring(42))) 
                    
//尾组 
                    case 0
                        
//XX--00 
                        switch (Convert.ToInt16(iCode.Substring(22))) 
                            
//中组 
                            case 1// TODO: to 20 
                                Result = KindType.省直辖市; 
                                
break
                            
case 21// TODO: to 50 
                                Result = KindType.地区含州或盟; 
                                
break
                            
case 51// TODO: to 99 
                                Result = KindType.省直辖市; 
                                
break
                        }
 
                        
break
                    
//XX---- 
                    case 1// TODO: to 20 
                        Result = KindType.市辖区或地辖区; 
                        
break
                    
case 21// TODO: to 80 
                        Result = KindType.县或旗; 
                        
break
                    
case 81// TODO: to 99 
                        Result = KindType.省直辖县级市; 
                        
break
                    
default
                        
break
                    
//未定义 
                }
 
                
break
        }
 
        
return Result; 
    }
 
    
    
/// ----------------------------------------------------------------------------- 
    
/// <summary> 
    
/// 区划类型 
    
/// </summary> 
    
/// <remarks> 
    
/// </remarks> 
    
/// <history> 
    
/// [lzmtw] 2005-10-23 Created 
    
/// </history> 
    
/// ----------------------------------------------------------------------------- 

    public enum KindType 
    

        省, 
        省直辖市, 
        地区含州或盟, 
        市辖区或地辖区, 
        县或旗, 
        省直辖县级市, 
        未定义 
    }
 
}
 
/// ----------------------------------------------------------------------------- 
/// Project : LzmTW.Common 
/// Class : Common.RegionalCodeClass.RegionalCollection 
/// 
/// ----------------------------------------------------------------------------- 
/// <summary> 
/// 数据字典 
/// </summary> 
/// <remarks> 
/// </remarks> 
/// <history> 
/// [lzmtw] 2005-10-24 Created 
/// </history> 
/// ----------------------------------------------------------------------------- 

private class RegionalCollection : System.Collections.DictionaryBase 

    
    
public void Add(Regional iItem) 
    

        
this.Dictionary.Add(iItem.Code, iItem); 
    }
 
    
    
public void Remove(string Code) 
    

        
this.Dictionary.Remove(Code); 
    }
 
    
    
public Regional Item 
        
get return (Regional)this.Dictionary.Item(Code); } 
    }
 
    
}
 
原创粉丝点击