Passing String ByVal Into Function Without Changing Reference Value?

Jun 26, 2009

I know strings are immutable, so the minute you change a string reference's value .NET makes a brand new string on the heap. But what if you don't change the value of a string reference; rather, you simply pass it into a function ByVal -- does this operation copy the string value on the heap as well? My inclination is "no," but I'd like to confirm.

For example:
Public Function IsStringHello(ByVal test As String) As Boolean
Return (String.Compare(test, "Hello") = 0)
End Function

Calling program:
Dim myWord as String = "Blah"
Dim matchesHello as Boolean = IsStringHello(myWord)

I know passing myWord by value makes a copy of the reference to "Blah", but since I have not tried to change the string itself, would it make another copy of the string on the heap?

View 6 Replies


ADVERTISEMENT

Passing Reference Types By Value (ByVal)

Aug 17, 2009

I'm still working on the code in this thread [URL] and as I mentioned in that thread, I thought that passing objects around between methods would probably be bad for performance (perhaps not really noticeably at first but maybe if I did it enough then it could have an impact).

1. When you pass a reference type to a method using ByVal then what is actually 'copied' ? I understand that ByVal copies the object into the local method that you are calling where as ByRef passes a reference to the actual object so you can work with the original object. So when you have a Reference type and you pass this ByVal then does copy the entire object or does it just copy a 'reference' to the object?

2. When working with an object that relates to a 'physical' item, such as a file on disk or a network stream between two connected machines, then what happens when you pass it around between methods (this might be irrelevant depending on the answer to the first question) ? I mean if I have a NetworkStream object that represents the data stream coming from a remote computer, if I then pass that ByVal into another method then does that mean I am still working with the same data stream or a copy of it or what?

View 9 Replies

Reference To The String In The Heap Is Passed Even When You Pass The String ByVal To A Method?

Mar 2, 2011

So strings are reference types right? My understanding is a reference to the string in the heap is passed even when you pass the string ByVal to a method.

String myTestValue = "NotModified";
TestMethod(myTestValue);
System.Diagnostics.Debug.Write(myTestValue); /* myTestValue = "NotModified" WTF? *[code].....

And what is going on under the hood? I would have bet my life that the value would have changed....

View 5 Replies

Public Function GetHDDFreeSpace(ByVal Drive As String) As Double?

Jul 28, 2009

ManagmentObject is not recognized!!! Help me!

Imports System.Management
Imports System.Management.Instrumentation
Public Class Form1

Public Function GetHDDFreeSpace(ByVal drive As String) As Double

If drive = "" OrElse drive Is Nothing Then
drive = "C"
End If

[Code]...

View 3 Replies

Passing A Class Reference To Another Function?

Jul 19, 2011

Let's says I have a class called Customer :-

Code:
Dim Cust as New Customer("Fred")

I also have a function in a seperate class :-

Code:
Shared Function Example(Example As Customer)

How do I refer to the class itself from within itself? For example :-

Code:
' from within the Customer class, call the Example function
AnotherClass.Example(Me??)

View 11 Replies

Addline Function - Public Overloads Sub AddTextLeft(ByVal Text As String

Dec 13, 2010

I've got question. I created this;

Public Overloads Sub AddTextLeft(ByVal Text As String, ByVal Fontsize As Decimal, ByVal Bold As Boolean)<br/>
'-- PBA / 22.08.2006<br/>

[CODE]...

View 5 Replies

Passing A Combobox Reference As A Function Parameter?

Sep 23, 2008

The case is that I have two comboboxes (country and state) and a simple code to populate the state combobox accordingly depending on the selected country. Ok this is simple and easy, and this code is within the country combo change event.The case is that I have more than one pairs of those comboboxes and I wouldnt like to repeat all the populate code into every country combo change event.Actually I would like to have only one function and just call it passing as parameter a reference to the combobox I want to populate. Then I could use that reference into the function.

View 10 Replies

Force Passing Argument Byval?

Sep 16, 2010

I have an old unmanaged dll function and I want to pass an array to it.The dll function expects the array to be passed by reference.Sometimes I can do that and sometimes I need to pass a pointer in a variable.Is it possible to override the declare for the function so that I could pass either the array by ref, or a pointer to it if I need to?

View 15 Replies

VS 2008 Passing ByRef Or ByVal?

Jul 23, 2010

I have been working on this for a few days, and I am going around in circles. I can make the program work by including everything in the same sub procedure, but the assignment requires that I do certain tasks by using function procedures.What I need to do is take the contents of a text box, reverse the order of the first and last names, and add them to a list box. I can do that, just not by passing value from a function procedure. Here is my

View 4 Replies

ByRef Vs ByVal Performance When Passing Strings

Jul 22, 2010

Reading [URL] made me wonder whether the comments in there did apply to Strings in terms of performance. Since strings are copied before being passed, isn't it much more efficient (if the callee doesn't need a copy of string course) to pass strings ByRef?

[Code]...

View 1 Replies

VS 2008 Passing Parameters - ByVal/ByRef?

Dec 22, 2010

I have some code that is transforming the coordinates of a line.I want to keep the original coords and I thought passing the line ByVal would be the best way.The original VB6 code used a temporary variable so that the original coords were not updated.I'm confused as when the X & y coords of 'line' are changed 'MyLine' is also changed. I had assumed only 'line' would change and 'MyLine' would remain unchanged'.

Private Sub TransformSaveLine(ByVal MyLine As LineType)
Dim P As Integer
Dim line As LineType
Dim x As Double

[code].....

View 12 Replies

Passing String Returned From Function?

May 2, 2012

I'm trying to establish a connection to my SqlDatabase while getting the connection string from a function. This will eventually lead to dealing with the appconfig file, but for now I'm just getting the basics established.

Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

[code]....

View 13 Replies

Original Value Changed While Passing Array Parameter Using ByVal?

May 31, 2009

have a subroutine which parameter is an array like below:

Private Sub DoubleArrayValues(ByVal arr() As Integer)
Double the values.

[code].....

View 7 Replies

Dynamically Call A Function With Delegates By Passing A String To A Background Thread?

May 20, 2009

How do I dynamically call a function with delegates by passing a string to a background thread in VB.NET?

Currently my code is this

Public Sub invertImageBK(ByVal image As Bitmap)
Dim snxl As System.ComponentModel.BackgroundWorker = createBW()
snxl.RunWorkerAsync(New ImageProperties(image.Clone, "invertImage", Nothing))

[Code].....

View 1 Replies

VS 2010 Function For Changing Picturebox Background Image With String?

Mar 1, 2012

What I have done is named a bunch of picture boxes "Q," "W," "E," etc. (the whole alphabet) and named picture that correspond to these picture boxes ("Q.png," "W.png," and so on) and added them to my resources.

For example, the following code would give the picture box named "Q" it's corresponding image "Q.png":

vb
Q.BackgroundImage = My.Resources.Q

Of course, it's kind of a pain in the backside to copy and paste this code and change all the Q's to W's and so on, so I was hoping to create a function to do the job for me:

vb
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'So that I can run the letter as a string through the function,

[Code].....

Hopefully I've provided enough detail so that it is obvious what I'm trying to do.

Obviously, the code I tried above (the second block) doesn't work - it gives a syntax error. I need to change/write to make this function functional.

View 7 Replies

Passing A Masked Telephone Number In The Form Of (999)999-9999 To A Function That 'strips' The Numbers Out And Puts Them Into A String?

Mar 10, 2009

So I'm passing a masked telephone number in the form of (999)999-9999 to a Function that 'strips' the numbers out and puts them into a string that I then use in an Update SQL statement. So far I have the code below that of course doesn't do anything:

Function StripPhone(ByVal sPhone as String) as String
Dim i as Integer
Dim sStripped as String

[code]....

View 6 Replies

Asp.net - What Does Function (Of T)(ByVal X As Integer) Actually Mean

Feb 24, 2010

I see some functions within some code that are:

Public Function GetDataObjects(Of Customer)(ByVal dataset as DataSet)
...
End Function

What exactly does the (Of Customer) do in this instance or mean?

View 3 Replies

Function Return A Value Byref Instead Of The Default Byval?

Jan 18, 2012

Can a function return a value byref instead of the default byval? That is to say, allow me to directly edit the variable that it is retrieving instead of just giving me a copy of that variable.Right now I'm trying to write a function that will return, based on what the user has selected through a combobox, a particular setting (eg. My.Settings.somethingHere). I then want to be able to edit the setting directly through just calling the function. Is that at all possible?

[Code]...

View 1 Replies

Limit To The Parameters That Can Be Passed ByVal Or ByRef To A Function ?

Jul 2, 2009

Is there a Limit to the parameters that can be passed byVal or byRef to a function or procedure in vb .net ?

[URL]

View 2 Replies

Private Sub Page_Load(ByVal S As Object, ByVal E As EventArgs)?

Jun 12, 2009

<script runat ="server" >
Dim objDT As New System.Data.DataTable
Dim objDR As System.Data.DataRow

[code]......

View 2 Replies

Public Sub SaveExcelFile(ByVal FileName As String)?

Nov 22, 2011

Public Sub saveExcelFile(ByVal FileName As String)Dim Excel As Object

[Code]...

that is my code. everytime i open the saved file, it says that it has a different file type and asks me if i want to continue opening it and i click yes. the data inside the excel file is only the word "Success"

View 14 Replies

IDE :: Private Sub TextBox1_TextChanged(ByVal Sender As System.Object, ByVal E As System.EventArgs) Handles TextBox1.TextChanged

Jun 10, 2011

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

Textbox1 how the text box by real-time data monitoring?

View 1 Replies

Private Sub Cv7import_Load(ByVal Sender As System.Object, ByVal E As System.EventArgs)

Jan 5, 2012

I'm making this program that opens the same forder in every pc but it identifies the pc name to do it.

Public Class cv7import Private Sub cv7import_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

[Code]...

but I want it to do it with the pc's name and I'm not sure how the environment.systemdirectory works, or even if it's the right one to use. Is it the right thing to use or is there a better solution.

View 12 Replies

Passing A Variable To A Sub Procedure By Reference?

Oct 20, 2009

passing a variable to a sub procedure by reference. Not sure I understand how it works. Here is the code.

Private Sub bntcompute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bntcompute.Click
Dim x, y As Double
getnumbers(x, y)
displaysum(x, y)

[code]....

Is the newly modified variable actually being Passed back? and If so where in the statement is it passed back. is it being passed back to the call getnumbers or is it passed back to the statement displaysum?

View 6 Replies

Passing Class Info By Value Rather Than By Reference

Apr 30, 2010

Public Class Form1
Public Contestant As New ContestantClass
Public HighScore1 As New ContestantClass
Public HighScore2 As New ContestantClass
Public HighScore3 As New ContestantClass
[Code] .....

The problem I'm having is the first time I take a value, it gets inserted in the right section. The second time I insert a value, it inserts it in the correct place AND updates the previous value I inserted with the new value. So apparently when I'm doing:
HighScore1 = Contestant
It's pointing contestant AT highscore1 rather than taking the name, company, and score from contestant and then storing it in highscore1. How I can pass that info by value rather than by reference?

View 3 Replies

VB Check For Null Reference When Passing ByRef?

Jun 6, 2011

I have a function that accepts a String by reference:Function Foo(ByRef input As String)

If I call it like this:

Foo(Nothing)

I want it to do something different than if I call it like this:Dim myString As String = Nothing Foo(myString) Is it possible to detect this difference in the way the method is called in VB .NET?All the logic is in the second overload, but I want to perform a different branch of logic if Nothing was passed into the function than if a variable containing Nothing was passed in.

View 3 Replies

Doesn't C# Extension Methods Allow Passing Parameters By Reference?

Aug 11, 2009

Is it really impossible to create an extension method in C# where the instance is passed as a reference?

Heres a sample VB.NET console app:
Imports System.Runtime.CompilerServices
Module Module1

[code].....

View 3 Replies

Passing Parameters By Reference Into Public Shared Methods

Oct 21, 2009

I have a List(Of AddlInfo) with AddlInfo being an object. I'm trying to pass addlInfoList by reference into a function of another class:

[Code]...

This works if I'm not passing the reference into another class, but when I try to do this, I get the following error: Overload resolution failed because no accessible 'Sort' can be called with these arguments:

[Code]...

View 1 Replies

WithEvents And Changing Object Reference

May 3, 2011

So I wanted everyone's opinion on this and what you think of this. Using the WithEvents modifier makes life very easy in VB.Net (srsly, I love it), and I was exploring some of its limitations and noticed you can do something along the lines of this:

[Code]....

View 12 Replies

ByVal Sender As System.Object - ByVal E As System.EventArgs

Jan 25, 2011

Just as a secondary question, usually I reduce: -(ByVal sender As System.Object, ByVal e As System.EventArgs) to just () for most occurrences of auto-generated subroutines. Is there any harm in doing this? I cant see any reduction in performance but do get more readability.

View 8 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved