You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#技术咨询:如何使用从URL下载的字符串处理用户输入?

从URL下载字符串+用String.Contains处理用户输入的入门指南

嘿,作为C#新手能想到把URL下载的字符串和用户输入处理结合起来,已经迈出很好的一步啦!我来帮你把这块理清楚~

先说说你的下载代码

你的代码语法上是没问题的,但有个重要的小提醒:在** .NET Core/.NET 5及以后的版本**里,WebClient已经被官方标记为过时了,更推荐用HttpClient来做HTTP请求——它更高效,也更符合现代.NET的设计规范。

如果要坚持用WebClient,代码能正常跑,但记得加上异常处理(比如网络不通、URL无效的情况):

string downloadedText = string.Empty;
try
{
    using (var wb = new WebClient())
    {
        downloadedText = wb.DownloadString("https://your-target-url-here.com");
    }
}
catch (WebException ex)
{
    Console.WriteLine($"下载出错啦:{ex.Message}");
}

要是想跟上最佳实践,换成HttpClient的写法会更好(注意HttpClient最好全局单例使用,别每次请求都new一个):

// 全局声明,整个应用里只用一个实例
private static readonly HttpClient _httpClient = new HttpClient();

async Task<string> GetContentFromUrl(string url)
{
    try
    {
        return await _httpClient.GetStringAsync(url);
    }
    catch (HttpRequestException ex)
    {
        Console.WriteLine($"请求失败:{ex.Message}");
        return string.Empty;
    }
}

重点:String.Contains的具体用法

你猜的没错,String.Contains就是用来检查一个字符串是否包含另一个子字符串的工具,刚好能满足你用下载内容处理用户输入的需求。

举个实际场景的例子:假设你从URL下载了一个允许访问的用户名列表(比如是逗号分隔的文本),现在要验证用户输入的用户名是否在这个列表里:

// 第一步:下载内容
string allowedUsersText = await GetContentFromUrl("https://example.com/allowed-users.txt");

// 第二步:获取用户输入
Console.WriteLine("请输入你的用户名:");
string userInput = Console.ReadLine()?.Trim() ?? string.Empty; // 去掉前后空格,处理空输入

// 第三步:用Contains检查匹配
if (allowedUsersText.Contains(userInput))
{
    Console.WriteLine($"欢迎你,{userInput}!你有权限访问");
}
else
{
    Console.WriteLine("抱歉,你的用户名不在允许列表中");
}

几个实用的小技巧

  • 忽略大小写:默认Contains是区分大小写的,如果想让匹配不区分大小写,可以加参数:
    allowedUsersText.Contains(userInput, StringComparison.OrdinalIgnoreCase);
    
  • 精准匹配完整项:如果下载的内容是用分隔符(比如逗号、换行)分开的条目,你可以先把字符串拆成数组,再检查数组里是否包含用户输入,这样能避免部分匹配的问题(比如输入"Tom"不会匹配到"Tommy"):
    string[] allowedUsers = allowedUsersText.Split(',', StringSplitOptions.RemoveEmptyEntries);
    if (allowedUsers.Contains(userInput, StringComparer.OrdinalIgnoreCase))
    {
        Console.WriteLine("匹配成功!");
    }
    
  • 空值检查:一定要先处理用户输入和下载内容的空值情况,避免出现空引用异常哦。

简单梳理下流程

  1. 用HttpClient(或WebClient)从URL下载字符串,做好异常处理。
  2. 获取并清洗用户输入(比如去掉空格、处理空值)。
  3. 用String.Contains(或数组的Contains)检查输入和下载内容的关系,根据结果执行对应的逻辑。

内容的提问来源于stack exchange,提问作者StepBro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:07:36