Not All Code Paths Return A Value Error In C#.net
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up c# returning error “not all code paths return a value” up vote 17 down vote favorite 6 I'm trying to write code that returns whether or not a given integer is or is not divisible evenly by 1 to 20, but i keep receiving "error CS0161: 'ProblemFive.isTwenty(int)': not all code paths return a value" Please help. Here is my code: public static bool isTwenty(int num) { for(int j = 1; j <= 20; j++) { if(num % j != 0) { return false; } else if(num % j == 0 && num == 20) { return true; } } } c# share|improve this question asked Jan 17 '14 at 20:47 user115185 89114 migrated from programmers.stackexchange.com Jan 17 '14 at 22:48 This question came from our site for professionals, academics, and students working within the systems development life cycle who care about creating, delivering, and maintaining software responsibly. 5 Your code doesn't make sense but the error message is quite clear. You need to return a value even if both your if conditions are false for 20 iterations. –ChaosPandion Jan 17 '14 at 20:52 4 You're thinking like a human, not a compiler. The compiler doesn't know what you are thinking, or how the logic is supposed to flow (past optimization). What happens if a value doesnt match either 'if'? –GrandmasterB Jan 17 '14 at 21:08 add a comment| 6 Answers 6 active oldest votes up vote 34 down vote You're missing a return statement. When the compiler looks at your code, it's sees a third path (the else you didn't code for) that could occur but doesn't return
.NET Framework > Visual C# Question 0 Sign in to vote Hi there, i am just starting out using CLR for the firs time however i amstrugglingtodebuga user defined function the function is supposed to return a string (file address) based on a filename inputted. i have a directory hard coded in which all the file will reside. i am reciveing a 'not all code paths return a value' error message against SqlString FindMyLocation(String location) Can anyone help? thanks ---------------------------See Code Below----------------------------------- using System; using System.Data; using System.IO; using System.Data.SqlClient; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; http://stackoverflow.com/questions/21197410/c-sharp-returning-error-not-all-code-paths-return-a-value public partial class UserDefinedFunctions { [Microsoft.SqlServer.Server.SqlFunction] public static SqlString FindMyLocation(String location) { try { string[] dirs = Directory.GetFiles(@"\\server01\DataFolder", location, SearchOption.AllDirectories); foreach (string dir in dirs) { return https://social.msdn.microsoft.com/Forums/vstudio/en-US/ee159476-495b-4c77-b475-c2806cba3794/c-not-all-code-paths-return-a-value?forum=csharpgeneral dir ; } } catch (Exception e) { string address = "No File"; return address ; } } } Tuesday, January 08, 2013 9:55 AM Reply | Quote Answers 1 Sign in to vote Your function returns just one value, not a collection, and this is also what happens in the foreach loop. "return" is final. It will quit the function at that point, returning just the first value found in the loop. If there is nothing in dirs (an empty collection) it cannot return anything, so falls out of the foreach loop having done nothing, and hence the error. If there is nothing in the "dirs" collection, what is returned? The simple fix is to add return after the foreach, as a "catch-all" using System; using System.Data; using System.IO; using System.Data.SqlClient; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; public partial class UserDefinedFunctions { [Microsoft.SqlServer.Server.SqlFunction] public static SqlString FindMyLocation(String loca
Tips/Tricks Top Articles Beginner Articles Technical Blogs Posting/Update Guidelines Article Help Forum Article Competition Submit an article or tip Post your http://www.codeproject.com/Questions/443341/Not-All-Code-Path-Return-A-Value Blog quick answersQ&A Ask a Question View Unanswered Questions View All Questions... Linux questions C# questions ASP.NET questions SQL questions fabric questions discussionsforums All Message Boards... Application Lifecycle> Running a Business Sales / Marketing Collaboration / Beta Testing Work Issues Design and Architecture ASP.NET JavaScript C / C++ / MFC> ATL / WTL / STL not all Managed C++/CLI C# Free Tools Objective-C and Swift Database Hardware & Devices> System Admin Hosting and Servers Java .NET Framework Android iOS Mobile SharePoint Silverlight / WPF Visual Basic Web Development Site Bugs / Suggestions Spam and Abuse Watch features Competitions News The Insider Newsletter The Daily Build Newsletter Newsletter archive Surveys Product Showcase Research Library not all code CodeProject Stuff communitylounge Who's Who Most Valuable Professionals The Lounge The Insider News The Weird & The Wonderful The Soapbox Press Releases Non-English Language > General Indian Topics General Chinese Topics help What is 'CodeProject'? General FAQ Ask a Question Bugs and Suggestions Article Help Forum Site Map Advertise with us About our Advertising Employment Opportunities About Us Ask a Question All Questions All Unanswered FAQ Not All Code Path Return A Value Rate this: Please Sign up or sign in to vote. See more: C# ASP.NET .NET Dear Friends, I have written a code like this to check the access level. But I am getting the error as "Not All Code Path Return A Value" Kindly suggest the reason and solution for the same protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (isAccessLevel() == "YES") { Show_My_Data() } else { Hide_My_Data() } } } public string isAccessLevel() { if (ACC_YN == "YES") { if (STA_YN == "RELE