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

C#中如何在不使用Linq的情况下计算列表指定区间负数的绝对值之和

不使用LINQ的实现方案

当然可以不用LINQ实现,用基础的循环和条件判断就能完成需求,逻辑清晰直观:

string input = Console.ReadLine();
// 分割输入字符串为字符串数组
string[] strNumArray = input.Split(' ');
int[] numArray = new int[strNumArray.Length];

// 手动将字符串数组转为整数数组
for (int i = 0; i < strNumArray.Length; i++)
{
    numArray[i] = Convert.ToInt32(strNumArray[i]);
}

// 定义目标区间:若要得到结果10,需遍历索引4到6的元素(对应-8、3、-2)
int startIdx = 4;
int endIdx = 6;
int absoluteSum = 0;

// 遍历区间内的每个元素
for (int i = startIdx; i <= endIdx; i++)
{
    int currentNum = numArray[i];
    if (currentNum < 0)
    {
        // 累加负数的绝对值
        absoluteSum += Math.Abs(currentNum);
    }
}

Console.WriteLine(absoluteSum);

关键说明

  • 用for循环替代LINQ的Select和ToList,手动完成字符串到整数的转换
  • 直接遍历指定索引区间(包含起始和结束索引),替代LINQ的GetRange和Where筛选
  • 逐个判断元素是否为负数,累加其绝对值,替代LINQ的Sum方法

注:你原代码中GetRange(3, 3)是取索引3、4、5的元素(1、-8、3),只能得到结果8;若要得到预期的10,需要调整遍历区间为索引4到6。

内容的提问来源于stack exchange,提问作者the-a-monir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:20:56