{"id":8946,"date":"2022-09-16T09:41:48","date_gmt":"2022-09-16T04:11:48","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/"},"modified":"2022-09-16T09:41:48","modified_gmt":"2022-09-16T04:11:48","slug":"solved-what-causes-indexoutofrangeexception-here-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/","title":{"rendered":"[Solved] What causes IndexOutOfRangeException here? [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-69900632\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"69900632\" data-parentid=\"69900572\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>The issue here is that you modifying the length of the list while iterating. After you deleted at least one item from <code>changedNums<\/code> list, its length is less than the initial 6 (so you get <code>IndexOutOfRangeException<\/code>). Also, once you deleted <code>k<\/code>-th item, you should decrement <code>k<\/code>. I modified your sample code to work as follows:<\/p>\n<pre><code>static void Main()\n{\n    List&lt;int&gt; nums = new List&lt;int&gt;() { 1, 22, 30, 4, 5, 6 };\n    List&lt;int&gt; changedNums = new List&lt;int&gt;(nums);\n            \n    var currentLength = changedNums.Count;\n    for (int k = 0; k &lt; currentLength; k++)\n    {\n        if (changedNums[k] &gt;= 21 &amp;&amp; changedNums[k] &lt;= 32)\n        {\n            changedNums.RemoveAt(k);\n            --k;\n            --currentLength;\n        }\n    }\n    \n    Console.WriteLine(string.Join(\" \", changedNums));\n}\n<\/code><\/pre>\n<p>This will print: <code>1 4 5 6<\/code><\/p>\n<p><strong>Edit:<\/strong><\/p>\n<p>As pointed by @derpirscher and @Jon Skeet in comments, index manipulations can be easily avoided by iterating the array from end to start:<\/p>\n<pre><code>List&lt;int&gt; nums = new List&lt;int&gt;() { 1, 22, 30, 4, 5, 6 };\nList&lt;int&gt; changedNums = new List&lt;int&gt;(nums);\n        \nfor (int k = changedNums.Count - 1; k &gt;= 0 ; k--)\n    if (changedNums[k] &gt;= 21 &amp;&amp; changedNums[k] &lt;= 32)\n        changedNums.RemoveAt(k);\n\nConsole.WriteLine(string.Join(\" \", changedNums));\n<\/code><\/pre>\n<p>An even easier solution to your problem can be achieved using LINQ:<\/p>\n<pre><code>var changedNums = nums.Where(num =&gt; num &lt; 21 || num &gt; 32).ToList();\n<\/code><\/pre>\n<p>All the solutions will produce the same result <code>1 4 5 6<\/code><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved What causes IndexOutOfRangeException here? [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] The issue here is that you modifying the length of the list while iterating. After you deleted at least one item from changedNums list, its length is less than the initial 6 (so you get IndexOutOfRangeException). Also, once you deleted k-th item, you should decrement k. I modified your sample code to work as &#8230; <a title=\"[Solved] What causes IndexOutOfRangeException here? [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\" aria-label=\"More on [Solved] What causes IndexOutOfRangeException here? [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,2517,540],"class_list":["post-8946","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-indexoutofrangeexception","tag-list"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] What causes IndexOutOfRangeException here? [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] What causes IndexOutOfRangeException here? [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] The issue here is that you modifying the length of the list while iterating. After you deleted at least one item from changedNums list, its length is less than the initial 6 (so you get IndexOutOfRangeException). Also, once you deleted k-th item, you should decrement k. I modified your sample code to work as ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-16T04:11:48+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] What causes IndexOutOfRangeException here? [closed]\",\"datePublished\":\"2022-09-16T04:11:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\"},\"wordCount\":112,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"indexoutofrangeexception\",\"list\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\",\"name\":\"[Solved] What causes IndexOutOfRangeException here? [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-16T04:11:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] What causes IndexOutOfRangeException here? [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] What causes IndexOutOfRangeException here? [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] What causes IndexOutOfRangeException here? [closed] - JassWeb","og_description":"[ad_1] The issue here is that you modifying the length of the list while iterating. After you deleted at least one item from changedNums list, its length is less than the initial 6 (so you get IndexOutOfRangeException). Also, once you deleted k-th item, you should decrement k. I modified your sample code to work as ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/","og_site_name":"JassWeb","article_published_time":"2022-09-16T04:11:48+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] What causes IndexOutOfRangeException here? [closed]","datePublished":"2022-09-16T04:11:48+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/"},"wordCount":112,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","indexoutofrangeexception","list"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/","name":"[Solved] What causes IndexOutOfRangeException here? [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-16T04:11:48+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-what-causes-indexoutofrangeexception-here-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] What causes IndexOutOfRangeException here? [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=8946"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8946\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=8946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=8946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=8946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}