I have a class that loads the contents of a XML file into their respective object types and stores those objects in a list. Each object has its own list of objects with properties the program will later modify.
The problem I am currently having is that after looping through the objects and modifying the necessary properties the modifications do not persist. This leads me to believe I am modifying a copy of the object rather than the object I think I am modifying. I am not sure why this is happening as I believe I should be modifying the object that is referenced in the collection.
What I have tried, I started using LINQ to get the object I am looking to modify. After a little more research I don't think this can work properly due to the LINQ query returning a new object(copy of the object). Currently I am using nested foreach loops which still are not behaving the way I expect as the properties I am setting are not making their way back to the original object.
The PopulateLogSheet() in the following class is where the problem loop is.
class ChillerCheckCollection {
public List<Chiller> chillers = new List<Chiller>();
public void LoadChillers(string filePath) {
var availableChillers = (from chiller in Xdocument.Load(filePath).Descendants("chiller")
select new Chiller
[Code] ....
And here are the other classes referenced in the above class.
class Chiller {
public IEnumerable<LogSheet> chillerLogSheet = new List<LogSheet>();
public int chillerID;
I am struggling with how to efficiently design my class objects to support the outlining of a collection of items. The collection would be sorted but would also have the ability to indent and outdent individual items representing a Parent and Child relationship (see attached).
An item could indent up to 5 levels deep. A summary level would be considered a Parent while items below the summary level would be consider as children.
I am trying to modify a user control while modifying the main form. For example i have my main form open in one visual c# window and my user controls in another. However it seems that in order for my code changes in my user control to have any effect on the main form i need to close all my c# windows and then re-open them and even then that sometimes doesn't work am i doing anything wrong or is this supposed to happen??
Also yes i am saving and clicking build solution on my user controls.
I have a WPF project where I am using the entity framework. I have switched all my collection types to ObservableCollection and I am also using the PropertyChanged event. The only way my collections update is if I close the application then restart it. I got to the point where I just created a new application with 1 entity and 1 combobox to display a collection and I still can't get the collection to update. In my code below I am calling the AddCustomer method to add a customer name to the Customers ObservableCollection without success.
class ViewModel:INotifyPropertyChanged { Model1Container context = new Model1Container(); public ViewModel() { Customers = new ObservableCollection<Customer>(); UpDate();
I know that where I have the intIndex++ line is wrong. It's just going to stop at the last index and call it good, but I don't know how to make it stop at the matching name. The only examples I can ever seem to find use the foreach loop to print out a value, and I'm clearly just not understanding this enough to make it work for me.
Instructions are: --Declare a variable to store the result of the search, int intIndex; --Use an if statement with the Contains method to check if the name in the search box is in the queue. --If Contains is true, initialize intIndex to zero and use a foreach to walk through queue, else display a message that the name is not in the list. --If a match is found use intIndex to select the matching entry in listbox and display a message indicating the name was found. Be sure to increment intIndex each time through the loop.
private void btnSearchByName_Click(object sender, EventArgs e) { //delcare int variable to use as the index for the list box int intIndex; //If Contains is true if (cstrName.Contains(txtSearchName.Text))
I thought I'd display my fun use of the new C++11 auto keyword to create a compile time foreach. It only works for STL collections, or anything that implements the STL collection iterator methods begin(), end() that return a STL iterator.
// Standard Template Library foreach // element = iterator name // collection = STL data collection variable #define stl_foreach(element, collection) for(auto element = collection.begin(), __end__ = collection.end(); element != __end__; element++) }
I am attempting to create multiple labels in a for each loop for each tag text (using htmlagility pack). My current code only creates one and doesn't change the first value (Which is AAE). I am using the labels to later input all the label.text into a database after the initial loop has finished (not shown).
foreach (var tag in tdTags) { MessageBox.Show(tag.InnerHtml); Label label = new Label(); label.Name = "contentName" + tag.InnerHtml; label.Text = tag.InnerHtml;
I'm new to C#. I'm trying to create a program to audit some of our processors. As you will see below, I have two foreach loops that allow me access to errorOrders(returns <<UserName, #of errors>>) and totalOrders (returns <<UserName, #of totalOrders>>).
However, the problem i'm running into now is that it seems to constantly loop through these two ForEach loops. When i run it, the 'count' on both errorOrders & totalOrders is 38. The program loops through all 38 users just fine, but then it continues to loop through users again...re-doing the process that it just finished.
I'm looking to see if there is another way I could set this section up so that it only loops through users once. I was thinking about trying to create a 'Boolean flag' that would force the program out of the ForEach loop after it has run through all the users...but i'm sure there are other ways to handle this.
foreach (KeyValuePair<string, int> error in errorOrders) { foreach (KeyValuePair<string, int> total in totalOrders) {
[Code]....
I know i should probably seperate these two foreach loops instead of having them nested..however, the problem that arises once i do that is my errPercentage can not be calculated if i do.
In my WPF application i have a SQL class which i am trying to use to store all of my SQL queries so far this is working fine for when i want to return one piece of data like this:
public string GetEnquiry_ContactName(int EnquiryID) { string ContactName = null; //Try to do the following if not then show the error message. try { //Create the SQL Connection SqlConnection cn = new SqlConnection(Models.M_GlobalVariables.GetConnection);
[Code] ....
But if i want to return a collection of data like this:
public ObservableCollection<CompanyNames> GetCompanyNames () { public class CompanyNames { public string CompanyName { get; set; } public CompanyNames(string name) { CompanyName = name;
[Code] ....
It does not work and i get 'Not all code paths return a value' and ''List_CompanyNames' is a 'property' but is used like a 'type''. But if i have it in my ViewModel like this:
//Code for the 'Company Names' dropdown box public class CompanyNames { public string CompanyName { get; set; } public CompanyNames(string name) { CompanyName = name;
[Code] ....
It works absolutely fine but the whole point of my SQL class is to have all my SQL code in that class instead of some of it in the ViewModel.
I have a program which generates lots of data points in 2D (x and y co-ordinates). Perhaps 1,000,000+ of these points. These are floating point numbers. The values all fall within a specific range -R/2 and +R/2.
I want to impose an 'imaginary' grid. Such that I can collect the number of each of these points falling within a specific grid location. The actual 'grid' size is variable.
Should I try and collate this data from my C++ program and then post-process it in some other s/w like matlab?
I have a window in WPF which I want the user to use to enter the information for a COM Port.
The intent is to populate two ComboBoxs from a two different ObservableCollection<string> which I am having no luck with.
I don't think that it is a DataContext issue, as I am able to get something from the ComRateList when the window opens, but nothing from BaudRateList. Either way I have included the way that the window is opened and DataContexts assigned...
When the code runs, the COM Port list is updated when the window opens - However, it is not updated when the user reclicks the ComboBox which was my intended behavour.
All the adds for the BaudRateList do not populate the ComboBox for the baud rates on start up, nor when the code is running.
When I step through the code, I can see all of the BaudRateList items being added... The window is called by the main window's datasource like so...
OpenSerialCommunication OpenView = new OpenSerialCommunication(); OpenView.Show();
This opens fine.
The OpenSerialCommunication.xaml is as follows: (Note that any business names have been replaced with [snip])
<Window x:Class="[snip].SerialCommunication.OpenSerialCommunication" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:serial="clr-namespace:[snip].SerialCommunication" Title="Open COM Port - [snip]" Height="300" Width="300"> <Grid>
I seem to have reached a dead end in a program I am attempting to write.The purpose of the program is find the smallest, largest, and average values in a collection of N numbers. It needs to get the value of N before scanning each value in the collection of N numbers.I'm having trouble creating comparisons for each set. I have a feeling because of the way I structured my program, I'm unable to make a proper comparison. Maybe my approach was wrong as soon as I got to the for statement to loop N sets and N numbers.Here is my code so far:
Code:
#include <stdio.h> int main (void) { int num_sets, num_of_integers; int count, count2, set, sum = 0; int num, avg; }
[code]....
/* Here is where I would continue to attempt to make a comparison between sets to determine smallest to largest */
I'm trying to split up my game (about 1300 lines) into header files, but I'm coming up with a problem whenever I try and put a function in a header file, when that function was modifying some variables that were defined before int main in the .cpp. For example:
int variable1 (0); int variable2 (0); void increasevariables() { variable 1 = variable1 + 1; variable2 = variable2 + 1;
[code].....
If it only modified one variable then I could just pass that variable and the return it:(return variable1 + 1;)But I don't know how to make a function in a header file modify several pre-existing variables. In the actual program, the variables are dependant on each other and the modifying is a lot more complicated, so I'd rather not split it into several functions and run one at a time if there's another way.
I have an array of char representing pixels in a bitmap, which I want to modify. I don't think I can just iterate over the array and pass chars into a function individually, because the function needs to take into account the neighboring pixels, too.
I thought of two ways to do this. The first would be to pass the array to the function as an argument, then have the function change it and return it. The trouble is I'm not exactly sure what happens internally when you pass an array to a function and return it. Is it the same array, modified? Or is it a copy of the array, so now you're using twice as much memory?
Alternatively I guess I could have a function with a void return type and pass a pointer to the array. I'm somewhat new to this, but the way I understand it is that a pointer is like the address of a house, while the array is the actual house. So if I give the function the address, it can go to that address and rearrange the furniture inside the house. Then, after the function returns, I can go to that address myself and see all the rearranged furniture, even though the function has already returned.
Is there a problem with the second way? It seems a bit neater, but maybe I'm understanding pointers wrong.
error C1083: cannot open: '[!output PROJECT_NAME].h': No such file or directoryd:program files (x86)autodesk3ds max 2012maxsdkhowto3dsmaxpluginwizard emplates1033atmospheric_type_atmospheric.cpp1513dsmaxPluginWizard
I am having trouble modifying a linked list. I am writing a function to delete the last node from the linked list, but it gave me incompatible types error.Here is my struct:
It gives me the following errors: initialization from incompatible pointer type at line: PCB_p temp = process_list assignment from incompatible pointer type at line: process_list = temp
I have this code which performs the analysis part of discrete wavelet transform. It works pretty well. However, I wish to reduce the time that it consumes even further. I did use reserve() and it worked upto few msec.
int rows = signal.size(); int cols = signal[0].size(); int cols_lp1 =(int) ceil( (double) cols / 2); vector<vector<double> > lp_dn1(rows, vector<double>(cols_lp1)); vector<double> temp_row; temp_row.reserve(512);
This has been bothering me for a while now, and I finally put together an example:
#include <iostream> #include <string> using namespace::std;
[Code]....
In the code above, the two classes hold pointers to each other, and that's fine but it doesn't seem right since C++ prefers to pass by reference. Yes, it can still do that (see testbox and testball) but even that seems odd to me because still you need to use pointer notation for the enclosed object. Am I the only one who feels this way, and should I just get over it? Or am I missing something that would allow an object to hold a reference?
i am relatively new to c++, and am trying to make it so particles will gravitationally attract to the mouse pointer. i have gotten all the bugs that the compiler found, but there must be another because the program crashes the second i open it. my code could be way off, so just tell me if it is and ill do more research and learning before trying something like this again. here is the code:
I've been really busy but managed to get in enough down time to learn somewhat decent info about vectors. Anyways originally my program created a dynamic array of pointers to class objects and I came across a few problems because of this. Apparently an array of pointers is now outta of the question and I will now be switching to a vector of objects instead.
Why I want a list of objects instead of pointers this little comment should clear things up.
tiles[i]->show() dereferences tiles[i] (i.e. accesses whatever it points at) before calling the show() method.
That is undefined behaviour. Once undefined behaviour occurs, there is no recovery, and there is nothing the show() method (or any subsequently called function for that matter) can do to recover (short of invoking their own forms of undefined behaviour - compiler specific hacks, etc).
Even if the show() method initialises the object correctly, it cannot change the pointer tiles[i] which is in a different scope (within main()).
What I'm trying to do is create a vector of already intialized objects so that I can use a conditional statement of every single element to properly layer my games art resources. This should also automatically fix a mild unrelated collision dectection problem too but first thing first layering.