C# 从web.config读取并格式化字符串

C# 从web.config读取并格式化字符串,c#,asp.net,C#,Asp.net,我从应用程序中排除了一些发送邮件的ipaddress。在这里,我在web.config文件中创建了自定义标记 我已经创建了section ExcludeIPAddressListSectionGroup,并指定了排除这些IP的范围 我像这样从web.config读取自定义标记 Hashtable config = (Hashtable)ConfigurationManager.GetSection("ExcludeIPAddressListSectionGroup/IPAddressLis

我从应用程序中排除了一些发送邮件的ipaddress。在这里,我在web.config文件中创建了自定义标记


我已经创建了section ExcludeIPAddressListSectionGroup,并指定了排除这些IP的范围

我像这样从web.config读取自定义标记

 Hashtable config = (Hashtable)ConfigurationManager.GetSection("ExcludeIPAddressListSectionGroup/IPAddressListSection");
 foreach (DictionaryEntry deKey in config)
 {
     Hashtable attribs = (Hashtable)deKey.Value;
     foreach (DictionaryEntry deAttrib in attribs)
     {
         string range = deAttrib.Value.ToString();
         string[] range_arr = range.Split(';');

         foreach (string range_str in range_arr)
         {
             Response.Write(range_str+"<br>");
         }
     }
 }
Hashtable config=(Hashtable)ConfigurationManager.GetSection(“ExcludeIPAddressListSectionGroup/IPAddressListSection”);
foreach(字典输入配置中的密钥)
{
Hashtable attribs=(Hashtable)deKey.Value;
foreach(字典输入attribs中的deAttrib)
{
字符串范围=deAttrib.Value.ToString();
字符串[]range_arr=range.Split(“;”);
foreach(字符串范围\u str在范围\u arr中)
{
响应。写入(范围为“\u str+”
”; } } }

我需要格式化字符串,并将起始ip和结束ip传递给这个函数bool-Between(长值、长左、长右)

使用以下代码。它适用于IPV4

        List<string> lstIPValues = new List<string>();
        foreach (string range_str in range_arr)
        {
             //again split to get ragne value into List of string.
            string[] ipValues = range_str.Split('=');
            lstIPValues.Add(ipValues[1]);    
        }
        Between(valueToBeChecked,, BitConverter.ToInt64(IPAddress.Parse(lstIPValues[0]).GetAddressBytes(), 0), BitConverter.ToInt64(IPAddress.Parse(lstIPValues[1]).GetAddressBytes(), 0));
List lstIPValues=new List();
foreach(字符串范围\u str在范围\u arr中)
{
//再次拆分以将ragne值放入字符串列表中。
字符串[]ipValues=range_str.Split('=');
lstIPValues.Add(ipValues[1]);
}
介于(valueToBeChecked、、BitConverter.ToInt64(IPAddress.Parse(lstIPValues[0]).GetAddressBytes(),0)、BitConverter.ToInt64(IPAddress.Parse(lstIPValues[1]).GetAddressBytes(),0)之间;

我已经编辑了您的问题,因为用户看不到web.config,请检查您的问题是什么?是否可以拆分两个“;=”在单个语句中使用分隔符来获取起始和结束ip地址。最好的方法是使用正则表达式,前提是将来不会更改您的配置范围字符串。请查看此链接()了解regex split示例,但它确实符合您的确切要求,您需要自己进行一点研发。@user221918如果您对答案满意,请将其标记为已回答。您已经问了5个问题,0标记为已回答。我将该问题标记为已回答,但这会传递消息,因为您需要15个声誉来标记答案