Trending December 2023 # C# Array Tutorial: Create, Declare, Initialize # Suggested January 2024 # Top 19 Popular

You are reading the article C# Array Tutorial: Create, Declare, Initialize updated in December 2023 on the website We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested January 2024 C# Array Tutorial: Create, Declare, Initialize

What is an Arrays in C#?

An array is used to store a collection or series of elements. These elements will be of the same type.

So for example, if you had an array of Integer values, the array could be a collection of values such as [1, 2, 3, 4]. Here the number of elements in the array is 4.

Arrays are useful when you want to store a collection of values of the same type. So instead of declaring a variable for every element, you can just declare one variable.

This variable will point to an array or list of elements, which will be responsible for storing the elements of the array.

Let’s look at how we can work with arrays in C#. In our example, we will declare an array of Integers and work with them accordingly.

Note that all of the below code is being made to the chúng tôi file.

Step 1) Declaring an array – The first step is to declare an array. Let’s see how we can achieve this by the below code example.

Code Explanation:-

The first part is the datatype. It specifies the type of elements used in the array. So in our case, we are creating an array of Integers.

The second part [ ], which specifies the rank of the array. (The rank is a placeholder which specifies the number of elements the array will contain)

Next is the Name of the array which in our case is ‘values’. Note you see a green squiggly underline, don’t worry about that. That is just .Net saying that you have declared an array, but not using it anywhere.

Step 2) The next step is to initialize the array. Here we are going to specify the number of values the array will hold. We are also going to assign values to each element of the array.

Code Explanation:-

First, we are setting the number of elements the array will hold to 3. So in the square brackets, we are saying that the array will hold 3 elements.

Then we are assigning values to each element of the array. We can do this by specifying the variable name + the index position in the chúng tôi values[0] means that we are storing a value in the first position of the array. Similarly to access the second position, we use the notation of values[1] and so on and so forth.

Note: – In Arrays, the index position starts from 0.

Step 3) Let’s now display the individual elements of the array in the Console. Let’s add the below code to achieve this.

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }

Code Explanation:-

This is the simple part wherein we just use the Console.WriteLine method to send each value of the element to the console.

Note that again, we are accessing each element with the help of the array variable name along with the index position.

If the above code is entered properly and the program is executed, the following output will be displayed.


From the output, you can see all the values of the array being displayed in the Console.

You're reading C# Array Tutorial: Create, Declare, Initialize

C++ Program To Get The Last Item From The Array

To store several elements of the same type in locations that are sequentially accessible or in a manner that allows for sequential access. The array is among the best options. For storing data, almost any computer language, array, or related data structure is available. Because fundamental operations like insert, remove, traverse, and update take linear time to complete, arrays are linear data structures. It is also simple to access array items. This article will demonstrate how to choose the last element in a C++ array.

Understanding the concept with examples Given array A = [10, 14, 65, 85, 96, 12, 35, 74, 69] The last element is 69

For instance, the final member can be reached using the index position, much like the given array in the previous example. Array indices in C++ (and certain other programming languages like java and python) begin at index 0. Therefore, to read the last index, we simply select the element from the index (n − 1), where n is the array’s element count.


Take an array A as input

n := number of elements in A

last_element := is taken using A[ n – 1 ]

return last_element


# define Z 50

using namespace std;

void displayArr(int arr[], int n){ for( int i = 0; i < n; i++ ){ cout << arr[ i ] << “, “; } cout << endl; }

int pickLastElement( int A[], int n) { int last; last = A[ n – 1 ]; return last; }

int main() { int A[ Z ] = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; int n = 12;

cout << “Given Array: “; displayArr( A, n );

int last = pickLastElement( A, n ); cout << “The last element of A: ” << last << endl;

int B[ Z ] = { 98, 12, 10, 23, 45, 74 }; int m = 6;

cout << “Another array: “; displayArr( B, m );

last = pickLastElement( B, m ); cout << “The last element of B: ” << last << endl; }

Output Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74 Using pointers and base address

Arrays are the base (first) position address along with the offset (indices). So another method without the square brackets to access indices is by using pointers. To get the last element, the value of the base address of the array can be used. Let us see the implementation for a clearer view.


# define Z 50

using namespace std;

void displayArr(int arr[], int n){ for( int i = 0; i < n; i++ ){ cout << arr[ i ] << “, “; } cout << endl; }

int pickLastElement( int A[], int n) { int last; last = *(A + n – 1); return last; }

int main() { int A[ Z ] = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; int n = 12;

cout << “Given Array: “; displayArr( A, n );

int last = pickLastElement( A, n ); cout << “The last element of A: ” << last << endl;

int B[ Z ] = { 98, 12, 10, 23, 45, 74 }; int m = 6;

cout << “Another array: “; displayArr( B, m );

last = pickLastElement( B, m ); cout << “The last element of B: ” << last << endl; }

Output Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74

Here the value of A (written with pointer *A) indicates the value of the address pointed by A. This is the base address for the array.

Using Vectors

Vectors are dynamic arrays, otherwise, the entire thing is similar to the arrays. Here also to read the last element, we just access the last index which is vector.size() − 1. The code is like below −


# define Z 50

using namespace std;

for( int i = 0; i < v.size() ; i++ ){ cout << v[ i ] << “, “; } cout << endl; }

int last; last = A[ A.size() – 1 ]; return last; }

int main() {

cout << “Given Array: “; displayArr( A );

int last = pickLastElement( A ); cout << “The last element of A: ” << last << endl;

cout << “Another array: “; displayArr( B );

last = pickLastElement( B ); cout << “The last element of B: ” << last << endl; }

Output Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74 Using the vector back() function

In the previous method, we are taking elements using index 0 but there is another possible way out. We can use the back() method which returns the last element. Let us see the code for a clearer view.


# define Z 50

using namespace std;

for( int i = 0; i < v.size() ; i++ ){ cout << v[ i ] << “, “; } cout << endl; }

int last; last = A.back(); return last; }

int main() {

cout << “Given Array: “; displayArr( A );

int last = pickLastElement( A ); cout << “The last element of A: ” << last << endl;

cout << “Another array: “; displayArr( B );

last = pickLastElement( B ); cout << “The last element of B: ” << last << endl; }

Output Given Array: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, The last element of A: 14 Another array: 98, 12, 10, 23, 45, 74, The last element of B: 74 Conclusion

For the method to read the last element from the array, we have seen four different methods. The first two are based on the static array implementation in C++. To read the last element we just take the element from index 0. The same thing can be done using the pointer of the base address of the array. The base address points to the first block and the value present at that index will be the first element, by adding the offset we get the last element. In the next two methods, we have used vectors. Here also the approaches are the same as static arrays. The final method uses back() for vector iterators which return the last element in a vector.

Fix: Failed To Initialize Connection Subsystem – Cisco

FIX: Failed to initialize connection subsystem – Cisco




Cisco AnyConnect is a popular business VPN solution that lets users access corporate resources remotely from any supported device.

However, sometimes it may face certain technical difficulties. The connection subsystem initialization failure error is by far one of the most common issues.

Check out our Cisco Hub to discover more Cisco-related guides, news, and fixes.

Visit our VPN Troubleshooting section to learn how you can fix more common VPN issues.



To fix Windows PC system issues, you will need a dedicated tool

Fortect is a tool that does not simply cleans up your PC, but has a repository with several millions of Windows System files stored in their initial version. When your PC encounters a problem, Fortect will fix it for you, by replacing bad files with fresh versions. To fix your current PC issue, here are the steps you need to take:

Download Fortect and install it on your PC.

Start the tool’s scanning process to look for corrupt files that are the source of your problem

Fortect has been downloaded by


readers this month.

Cisco AnyConnect is more than just a VPN, as it empowers your workforce to be able to work from any location, on any device, and at any time.

However, this doesn’t mean that it’s free of errors. In fact, it has quite a few issues, but thankfully none of them is without a solution.

One of the most common problems is the failed to initialize the connection subsystem in Cisco AnyConnect error.

Apparently, it mostly occurs for Windows users, but it also happens in the following scenarios:

Establishing VPN connections with Cisco AnyConnect Secure Mobility Client app on Windows 8.1, RT 8.1, or Windows Server 2012 R2

After installing Windows update 3023607 on your computer

Microsoft has confirmed that the failed to initialize connection subsystem in Cisco AnyConnect error is related to Microsoft products.


Windows Server 2012 R2 Datacenter, Standard, Essentials and Foundation, Windows 8.1 Enterprise and Pro, Windows 8.1, and Windows RT 8.1.

Check out some solutions that can help you work around this error and fix it on your computer.

Failed to initialize connection subsystem in Cisco AnyConnect error fix

You can install the most recent cumulative security update for Internet Explorer directly from Windows’ built-in update tool.

Alternatively, you could download and apply the update manually.

However, if you choose the latter, you should check the Affected Software table in Microsoft’s Security Bulletin MS15-018 for download links.

If this didn’t do the trick, move on to our next suggested fix.

The failed to initialize connection subsystem in Cisco AnyConnect error usually has to do with a recent Windows Update.

Having issues while installing Cisco AnyConnect? Check out our guide and learn how to bypass them easily.

However, you can also use Cisco AnyConnect’s proprietary troubleshooter tool to try and solve it.

All you have to do is follow these steps:

Note: For chúng tôi – the local service that supports the client user interface – you may need to repeat these steps.

Sometimes the failed to initialize the connection subsystem in Cisco AnyConnect error could happen because the Internet Connection Sharing (ICS) is enabled on your LAN.

Here’s how to resolve this:

If you have the failed to initialize connection subsystem in Cisco AnyConnect error, you can fix it by making a small edit to the registry using the steps below:

Check whether you are able to connect.


All things considered, if you encounter the failed to initialize the connection subsystem in Cisco AnyConnect error, there are ways to fix it.

We recommend you try our suggested methods one by one. We’re confident you’ll find one that eventually does the trick.

Your connection is not secure – websites you visit can find out your details:

Use a VPN to protect your privacy and secure your connection.

We recommend Visit Private Internet Access

We recommend Private Internet Access , a VPN with a no-log policy, open source code, ad blocking and much more; now 79% off.

Was this page helpful?


Start a conversation

How To Initialize Weights In Neural Networks?

This article was published as a part of the Data Science Blogathon


Building even a simple neural network can be a confusing task and tuning it to get the better result is an extremely tedious task. The most common problem with Deep Neural Networks is Vanishing and Exploding gradient descent. To solve these issues, one solution could be to initialize the parameters carefully. In this article, we will discuss Weight initialization techniques.

This article has been written under the assumption that you have a basic understanding of neural networks, weights, biases, activation functions, forward and backward propagation, etc.

Table of Contents

👉 Basics and notations of neural networks

👉 Steps of training a neural network

👉 Why weight initialization?

👉 Different Weight initialization techniques

👉 Best practices of weight initialization

👉 Conclusion

Basics and Notations

Consider a neural network having an l layer, which has l-1 hidden layers and 1 output layer. Then, the parameters i.e, weights and biases of the layer l are represented as,

Image Source: link

In addition to weights and biases, some more intermediate variables are also computed during the training process,

Image Source: link

Steps of Training a Neural Network

Training a neural network consists of the following basic steps:

Step-1: Initialization of Neural Network: Initialize weights and biases.

Step-2: Forward propagation: Using the given input X, weights W, and biases b, for every layer we compute a linear combination of inputs and weights (Z)and then apply activation function to linear combination (A). At the final layer, we compute f(A(l-1)) which could be a sigmoid (for binary classification problem), softmax (for multi-class classification problem), and this gives the prediction y_hat.

Step-3: Compute the loss function: The loss function includes both the actual label y and predicted label y_hat in its expression. It shows how far our predictions from the actual target, and our main objective is to minimize the loss function.

Step-4: Backward Propagation: In backpropagation, we find the gradients of the loss function, which is a function of y and y_hat, and gradients wrt A, W, and b called dA, dW, and db. By using these gradients, we update the values of the parameters from the last layer to the first layer.

Step-5: Repeat steps 2–4 for n epochs till we observe that the loss function is minimized, without overfitting the train data.

For Example,

For a neural network having 2 layers, i.e. one hidden layer. (Here bias term is not added just for the simplicity)

Fig. Forward Propagation

Image Source: link

Fig. Backward Propagation

Image Source: link


Why Weight Initialization?

Its main objective is to prevent layer activation outputs from exploding or vanishing gradients during the forward propagation. If either of the problems occurs, loss gradients will either be too large or too small, and the network will take more time to converge if it is even able to do so at all.

If we initialized the weights correctly, then our objective i.e, optimization of loss function will be achieved in the least time otherwise converging to a minimum using gradient descent will be impossible.


Different Weight Initialization Techniques

One of the important things which we have to keep in mind while building your neural network is to initialize your weight matrix for different connections between layers correctly.

Let us see the following two initialization scenarios which can cause issues while we training the model:

Zero Initialization (Initialized all weights to 0)

If we initialized all the weights with 0, then what happens is that the derivative wrt loss function is the same for every weight in W[l], thus all weights have the same value in subsequent iterations. This makes hidden layers symmetric and this process continues for all the n iterations. Thus initialized weights with zero make your network no better than a linear model. It is important to note that setting biases to 0 will not create any problems as non-zero weights take care of breaking the symmetry and even if bias is 0, the values in every neuron will still be different.

Random Initialization (Initialized weights randomly)

– This technique tries to address the problems of zero initialization since it prevents neurons from learning the same features of their inputs since our goal is to make each neuron learn different functions of its input and this technique gives much better accuracy than zero initialization.

– In general, it is used to break the symmetry. It is better to assign random values except 0 to weights.

– Remember, neural networks are very sensitive and prone to overfitting as it quickly memorizes the training data.

Now, after reading this technique a new question comes to mind: “What happens if the weights initialized randomly can be very high or very low?”

(a) Vanishing gradients :

 For any activation function, abs(dW) will get smaller and smaller as we go backward with every layer during backpropagation especially in the case of deep neural networks. So, in this case, the earlier layers’ weights are adjusted slowly.

Due to this, the weight update is minor which results in slower convergence.

This makes the optimization of our loss function slow. It might be possible in the worst case, this may completely stop the neural network from training further.

More specifically, in the case of the sigmoid and tanh and activation functions, if your weights are very large, then the gradient will be vanishingly small, effectively preventing the weights from changing their value. This is because abs(dW) will increase very slightly or possibly get smaller and smaller after the completion of every iteration.

So, here comes the use of the RELU activation function in which vanishing gradients are generally not a problem as the gradient is 0 for negative (and zero) values of inputs and 1 for positive values of inputs.

(b) Exploding gradients : 

This is the exact opposite case of the vanishing gradients, which we discussed above.

Consider we have weights that are non-negative, large, and having small activations A. When these weights are multiplied along with the different layers, they cause a very large change in the value of the overall gradient (cost). This means that the changes in W, given by the equation W= W — ⍺ * dW, will be in huge steps, the downward moment will increase.

Problems occurred due to exploding gradients:

– This problem might result in the oscillation of the optimizer around the minima or even overshooting the optimum again and again and the model will never learn!

– Due to the large values of the gradients, it may cause numbers to overflow which results in incorrect computations or introductions of NaN’s (missing values).

  Best Practices for Weight Initialization

👉 Use RELU or leaky RELU as the activation function, as they both are relatively robust to the vanishing or exploding gradient problems (especially for networks that are not too deep). In the case of leaky RELU, they never have zero gradients. Thus they never die and training continues.

👉 Use Heuristics for weight initialization: For deep neural networks, we can use any of the following heuristics to initialize the weights depending on the chosen non-linear activation function.

While these heuristics do not completely solve the exploding or vanishing gradients problems, they help to reduce it to a great extent. The most common heuristics are as follows:

(a) For RELU activation function: This heuristic is called He-et-al Initialization.

In this heuristic, we multiplied the randomly generated values of W by:

Image Source: link

In this heuristic, we multiplied the randomly generated values of W by:

Image Source: link

(c) Another commonly used heuristic is:

Image Source: link

Benefits of using these heuristics:

All these heuristics serve as good starting points for weight initialization and they reduce the chances of exploding or vanishing gradients.

All these heuristics do not vanish or explode too quickly, as the weights are neither too much bigger than 1 nor too much less than 1.

They help to avoid slow convergence and ensure that we do not keep oscillating off the minima.

👉 Gradient Clipping:  It is another way for dealing with the exploding gradient problem. In this technique, we set a threshold value, and if our chosen function of a gradient is larger than this threshold, then we set it to another value.

NOTE: In this article, we have talked about various initializations of weights, but not the biases since gradients wrt bias will depend only on the linear activation of that layer, but not depend on the gradients of the deeper layers. Thus, there is not a problem of diminishing or explosion of gradients for the bias terms. So, Biases can be safely initialized to 0.


👉 Zero initialization causes the neuron to memorize the same functions almost in each iteration.

👉 Random initialization is a better choice to break the symmetry. However, initializing weight with much high or low value can result in slower optimization.

👉 Using an extra scaling factor in Xavier initialization, He-et-al Initialization, etc can solve the above issue to some extent. That’s why these are the more recommended weight initialization methods among all.

End Notes

Thanks for reading!

Please feel free to contact me on Linkedin, Email.

About the author Chirag Goyal

Currently, I am pursuing my Bachelor of Technology (B.Tech) in Computer Science and Engineering from the Indian Institute of Technology Jodhpur(IITJ). I am very enthusiastic about Machine learning, Deep Learning, and Artificial Intelligence.

The media shown in this article are not owned by Analytics Vidhya and is used at the Author’s discretion. 


Digital Marketing Tutorial: Online Course

What is Digital Marketing?

Digital Marketing is a branch of marketing that mainly involves technologies like internet, computers and mobile phones to promote the products and services online. It is a well-targeted, conversion-oriented and interactive marketing approach to reach the customers and transform them into clients. The purpose of digital marketing is to promote your business online to reach the right audience that can be your customers.

Recent studies show that Digital Marketing is the fastest growing sector in the tech industry. This course is geared to make you a digital marketing pro

In this tutorial, you will learn-

👉 Introduction to Digital Marketing

👉 Search Engine Optimization – SEO Tutorial

👉 Social Media Marketing: Tips and Secret

👉 Online Paid Advertising: Ultimate Guide

👉 Email and Mobile App Marketing

👉 Introduction to Digital Marketing

Throughout centuries, marketing always remained customer centric, the way of delivering services and product has changed but the strategies remained same. Technologies did bring revolution in all fields and marketing is no exception, from print media to digital media. The rapid growth of digital marketing is the direct consequence of penetration of internet and social media sites.

Unlike traditional marketing method you don’t have to go door to door to convince people how good your product is, instead the ‘likes’ in Facebook and ‘followers’ in twitter does this job.

Digital Marketing revolves around four things

Social Media : Interact with your customer base using social sites like Facebook and twitter. Use it as a support channel, Launchpad for new products , announce discount and exclusive coupons to drive sales

SEO: SEO or Search engine optimization is a technique that allows a site to get more traffic from search engines like Google, Microsoft, Yahoo etc. It is divided in two categories, off page SEO and on page SEO

Content Marketing: The goal of Content marketing is to retain and attract customers by consistently creating valuable and relevant content with the intention to engage targeted audience in order to drive profitable customer action. Content marketing is valuable for companies as information people find online impacts their purchase decision.

👉 Search Engine Optimization – SEO Tutorial What is SEO?

SEO is the process of improving the structure, content and organization of your site to the Search engines can index them correctly. It also involves doing promotional activities to boost your search engine rank

Before we look into this any further, let’s first understand –

How Search Engine Works?

Almost every Search engine does the following Spiders or Web Crawling, Indexing & Displaying.

Spiders & Crawlers: Spiders crawl over the web in search of content (Hence the name Spider). Once they finish scanning and identifying the relevant content, they copy the searched content and store it in a search engines database. While they are scanning one web page, they make note of links to other web pages from this page and later scan the linked web pages as well & this process keeps going on for all webpages. (For example : Page A links to Page B which in turn links to Page C. Here, Page A,B,C will be stored as well as any page which is linked from Page C ) .

Web Crawler will collect the following (not limited to) information from a web page –

Indexing: Now that website information is stored in Search Engines Database, how will it know which page to put on top of search results and which on last ? Enter Indexing.

Ranking is done based on keywords.

As the engines crawl and index the contents of pages around the web, they keep track of those pages in keyword based indices. The search engines have millions and millions of smaller databases, each centred on particular keyword term or phrase.

Next question, how does the search engine know which keyword to rank a page for? To determine so the search engine looks into the content of the page, Page Title , Page URL and other factors

Next question, suppose there 20000 Webpages each catering to the same keyword say football. How does the Search Engine determine which Page to display as # 1 , # 2 and so on… Enter Search Engine Ranking Factors which considers Domain Age , Domain Trust , Topicality , Number and relevance of external pointing links to the page , social signals and many more. This will be covered in detailed later in the tutorial

Displaying: The last step in search engine activity is retrieving the best matched results for search queries, which is displaying the search result in browser.

Role of Keywords in SEO

Keyword is actually the key to SEO. Keyword is what a person or user enters into a search engine to find specific information.

Keywords form part of a web page’s metadata and help search engines to match page with an appropriate search query.

Keyword Density

Often it is misunderstood that by including more keywords which describe your website can eventually help search engine to bring your website on top. Infact, more keywords sometimes get you penalized for “spamming “or keyword stuffing. So, using keyword wisely from SEO point of view becomes mandatory. So what is the ideal frequency of Keyword? It is believed that for best result, keyword density should be 3-7% for the major and 1-2 % for minor key words.

Keywords in Special places, Page titles & Headings

It is imperative where your keyword exactly appears on your web page. It counts more if you have keywords in the “page title, the headings, the paragraphs” especially in URL. For instance, if your competitor’s web page has same number of keyword as your webpage but if you have included the keywords in your URL then your webpage have more chances to stand out than your competitor.

Placing the keywords in the “Title of the page” or “Heading tags” is considered the best place to put your keywords. The reason behind is that the search engine looks first for the keywords in your “Title tag” and then in “Heading tag”. The standard title tag keyword is around 70 characters max.

In order for a title tag to be most effective, it needs to be supported in other areas of each web page like the “headline”. Your headline should be the largest headline on the page rich with primary keywords, you can also include secondary keywords in your headline. There is no limitation for headline length, but still preferred around 7- 8 words length. For keywords there are some set criteria for best result as shown in table below.

Keywords Criteria for best SEO result

Keywords in URL

First word is best position for keyword in URL

Keywords in Title tag

Keywords should be in beginning of title tags, 10- 60 characters , no special characters

Keywords in description meta tag

Show theme less than 200 characters

Keywords in Keyword meta-tag

Show theme less than 10 words

Keyword density in body text

5- 20 % of the content

Keywords in Headlines

Use Hx font style tags appropriately

Word Stemming

Search engine like Google, uses word stemming for search query. Word stemming allows all forms of the word- singular, plural, verb form as well as similar words for a given search query. For example if someone search for “Mountain track” it will retain search result with all variation of that phrase like “Mountain tracking“, “Mountain trackers” and so on.

Ranking and Ranking factors

Meta-tags: one of the earliest method to optimize the website high in result was to offer Meta data to the search engines. Meta data is nothing but the data about the data found on that page.

There are two important meta-tags or meta-data

Meta description

Meta Keyword

Both Meta keyword and Meta description can contribute to your search engine ranking. The meta description tag is intended to be a brief and concise summary of your page’s content. The limitation for meta-description is about 170- 200 characters, writing a unique description for each page of your site. Meta description format would look something like this

Example: Meta-description for website "guru99"

While meta keywords format would look something like this


Meta-keywords for website “guru99”

Link Building On Page & Off page Optimization

SEO optimization is primarily classified into two sections on page optimization and off page optimization.

Positive Off Page Optimization

Off page SEO is the process of boosting your search engine rankings by getting external links pointing back to it. The more and better links you can get to your webpage, better it will rank in search result

A quality backlink is considered good from the search engines point, and has the maximum effect on your off page SEO. A quality backlink has properties like

Incoming links from high page rank web page

Use different anchor texts

Dofollow or Nofollow links

Getting backlink from similar niche blog or website

Avoid black hat SEO

Good Domain Authority

High Trust

High Relevance in the subject matter of the linking and destination domains

Site Age- Shows site stability

What you should NOT do for Negative off page

Link Buying : If you get caught penalty is huge

Cloaking: Try prevent cloaking (representing different page to search engine than your original web page)

Domain Hi-jacking: It is when someone takes your domain away or misuses your domain without your knowledge by changing the registration of the domain name. Never do this , it’s a criminal offence.

Other Black Hat Techniques

Positive On Page Optimization

On page optimization directly deals with the content and structure of the website. On page optimization focuses on

Unique title tags and Headlines

Keyword frequency in the


Body Texts




Adding description to images

Good Internal Navigation

What you should not do for Negative On Page

Avoid negative over optimization penalty (OOP) by not repeating keywords very very frequently

Link to a bad neighbourhood : Do not link to link Farms or any other site with bad page rank

Avoid Poison words: The word “link” is considered poison words or stop words in a title tag. There are many other poison words that you should avoid

Avoid stealing text or images from other domains

Avoid Excessive cross linking

For best SEO result for your site always regularly maintain it, as you won’t rank as high in search engines, if your site is slow or has broken links.

Google Panda

Google panda is a Google’s search results ranking algorithm, it aims to lower the rank of “low quality sites” or “thin sites” and return higher quality sites near the top of the search result. In other words it does the verification of “content” of the websites.

How to escape the Panda’s Claw

Try to avoid link building with those sites which is already ranked as low quality website

Google Penguin

Another algorithm update from Google is “Google Penguin” which penalizes those sites that breach Google’s webmaster guidelines set by the search engines. This programme is specifically designed to target those sites that practice black-hat SEO techniques like keyword stuffing, duplicate content and bulk link building to name a few. Penguin does not damage the site unless spammed for too much keyword.

How to get away from Penguin’s Pecking

Remove all links from guest blogging network

Remove links from spam sites

Remove all exact match anchor links

Remove all optimized anchor links

Nofollow Guest Post links

SEO Audit and Link Removal

SEO Audit and link removal is very important for running your website successfully, as search engine modifies their algorithm from time to time. For success of your website, it is necessary to keep pace with their current guidelines and requirements of search engine. To ignore link audit may put your website at high risk.

For link audits and link removal many online tools are available like, Google webmaster tools, MOZ , Open Site Explorer , Majestic SEO etc. It will scrutinize ‘backlinks’ and provides some helpful metrics like

Specific URLs that link to your site

The pages on your site that each of these URLs link to

Anchor text used by each incoming link

Whether each incoming link is follow or no-follow

While removing low quality links, you have to be careful as some of them may be highly relevant to your website and come from websites on the upswing. In future they might become an important source of traffic.

What are the characteristics of a ‘bad links’

Links with the same anchor text coming from multiple sites

Links from sites that are unrelated to your niche

Links from low traffic and low PR ( Page Rank)

Links from articles directories or sites that look like link farms

Links from link exchanges

Paid links

Links from sites that are not in the Google Index

In case the site owner does not remove bad links from your website, then you can use Google’s disavow tool. This disavow tool will remove bad links.

This disavow tools are applicable in condition like

When you get a manual action

Webmaster won’t remove the bad links to your site or charge you to remove them

When you see links pointing to your site you do not want to be associated with

When you are worried about negative SEO

You see links pointing to your site you do not want to be associated with

You saw a link bomb attack and are afraid it might hurt your site

You are afraid someone will submit a spam report for you

You see your ranking dropped and you think it has to do with an algorithm Google ran, example: Penguin algorithm

👉 Social Media Marketing: Tips and Secret

Social Network Marketing is about using social media sites as marketing tools for the optimization of revenue or increasing brand exposure. Social Media Marketing use strategy like SMO (Social Media Optimization), it can be done in two ways

a) Adding social media links to content such as sharing buttons and RSS feeds

b) Promoting sites through social media by updating tweets, blog post and statuses

Social Media Marketing helps a company get direct feedback from customers, social websites like Twitter, Facebook, Instagram, Myspace, Linkedln and Youtube which have had significant contribution in social marketing in last couple of years. The success of social media in marketing is due to very “Personal” interactions between the user and service renderers.

FaceBook Marketing

Face book features are more detailed than other social networking sites. They allow a product to provide photos, videos, longer description option and testimonials as other followers can express their opinion on the product page for others to see. Facebook can link back to the products twitter page as well as send out event reminders. This can be done by connecting to various groups or business groups of your field on Facebook, admin page and direct message to admin for site promotion. You can also create your own personal page where you can upload videos or website information for example, here we have “Guru 99” Facebook page, which has reached many e-learners through Facebook.

Next you can also make a group or join a group of your liking, for example if you are a computer geek and searching for a java computer group then you can join a Java group where you ask questions pertaining to java or share any information related to Java with your group.

To facilitate social media marketing and to manage posting of messages on regular basis on social sites, automated scheduling tools are used. Hootsuite is one such tool, which gives users extended facility for automating and scheduling messages, monitoring conversation and track result across multiple networks. For example, here it is shown how different tutorials are set and scheduled for website Guru99.

Twitter Marketing

It’s a micro blogging service that allows sending and receiving message from customers. This can help business people to contact and communicate with peer group and to their customers. You can create your personal page in twitter as well, and can upload your site and share information related to site on twitter.

Twitter is a great tool to reach out new customers/clients without invading their privacy

LinkedIn Marketing

LinkedIn connects professionals from various backgrounds and provides an opportunity to expand business by connecting business professional. Through the use of widgets, members can promote their product or website directly to their clients. “Company Page” is one such feature in linkedin which acts like a business resume for your client to get a quick overview about your business.

Your personalized webpage on linkedin can also be used as an open platform for discussion with peer group or e-learners. Apart from your personalized page there are option like joining groups, companies or any particular professional groups (Doctors, Real estate & Infrastructure, Job portals, business groups etc.)

Recent research has marked Linkedin on top for social referrals to corporate homepages.

LinkedIn: 64% of social referrals to corporate homepage

Facebook: 17% of social referrals to corporate homepage

Twitter: 14% of social referrals to corporate homepage

Google+ plus

Google plus provides various features which can be used for marketing purposes like

Circles : You can create groups or join circles of your likings

Stream: Gives instant updates on selected contacts or groups

Photos: Upload photos

Sparks: It allows you to specify your area of interest every time you logged in

Plus One: It is like a face book ‘like button’, where you can express your opinion about any particular product

Video Chat and Huddles: All queries can be solved by video chat facility which can be used to facilitate live customer interactions and huddles allow for group chats.

Apart from these you can join communities of your interest, like here guru99 has created community for software testers where they can use these page for discussion for topics of their common interest.

Video Promotion

Video’s are one of the quickest ways to reach your customer. Visual effect has more impact on customer than print or digital text, it enables to explain the product more convincingly than any other medium. Marketing on “Youtube” turns, viewers into fans and, fans into customers. Also with video pages on your site has more chances to get good rating, as there are very less competition for video pages.

To get maximum viewer to your video link, attach the script of your Video. Youtube also provide captioning alternative for videos.

For Intagram Marketing refer this tutorial

👉 Online Paid Advertising: Ultimate Guide

Several aspects important for successful PPC campaign

First Understand the purpose of PPC campaign

Research on your target audience

Keyword Research

Perform A/B Testing

Learn from your competitors Ad copy before you make your own

Keyword grouping and Organization

Keywords in Ad should include keywords of the landing page

Ad groups creation and Management

Managing your PPC campaign

Once you have created your new campaigns, you have to make sure that they remain active and effective and for that you have to manage your PPC campaign properly

Continuously analysing the performance of your account

Add PPC Keywords and expand the reach of your PPC campaign

To improve campaign relevancy, add non-converting terms as negative keywords

Split up your ad groups into smaller and more relevant groups.

Stop the underperforming keywords

Modify the content and call to actions (CTAs) of your landing pages to align with individual search queries in order to boost conversion rates

Don’t send all your traffic to same page

Example for Bad Ad Example for Good Ad

Hob’s black coffee

Selling coffee since 1947

Come and see our selection

Hob’s great organic black coffee

Refreshing and High quality

Special discount on imported black coffee

Facebook Ad

Once you enter your URL to the ad page, the next step will be to upload the image for your ad that you want to display when users look at your ad. Here in the screen shot we had uploaded an image showing “Free Live Selenium Project”.

Once you have uploaded ad image the next step is to identify and target your audience for ad. On ad page you can handle your account as shown in below screen shot and you can target specific audience by narrowing down them according to their location, age, gender, language and so on also you can bid from the same page.

Here, we had chosen country like India, U.S and U.K and we targeted the audience between the age of 19- 24 for our ad and set the rest of category accordingly.

The next step is to set the limit for your ad like how much money you want to spend for your ad and you can set the amount limit accordingly. For instance, we have set the limit Rs 100 per day, then your ad will display on Facebook till your amount becomes nil for the day.

Once everything is set up, you will be proceeded to the most important part and final step of the process, yes you guessed right, money in the bank, as soon as you are done with the payment thing your ad will be reviewed and approved by Facebook group and soon your ad will start displaying on your account.

For the desktop users the ad will display something like this as show in the screen shot below

While for mobile users the ad will display like this, as shown below

Twitter Ad

Twitter’s Ad Types

Twitter has exceptionally shown its potential in online marketing through promoting Ads and product. Some of these ad types are emphasized over-here.

Promoted hashtags , promoted account, promoted tweet:

Twitter Cards

With Twitter cards, you can attach rich photos, videos and media experience to tweets that drive traffic to your website.

👉 Email and Mobile App Marketing

With the use of internet, e-mail marketing has become more prevalent and common method to reach maximum users with minimum costs. It is a form of direct marketing that uses electronic mail as a means of communication. E-mail marketing is an efficient way to stay connected with the clients and at the same time promoting your business and products. With e-mail marketing you can also track how much percentage of people have shown interest in your product or service. Professional e-mail marketing is considered as a better approach for organized marketing strategy. Here are some benefits for e-mail marketing.

Permission based list building: It is a creation of an email list by providing a sign up box for for prospective e-mail contacts and confirming their approval with a follow up email

Campaign creation: The capability to organize and structure large volumes of e-mail messages by branding, theme and schedule

Online reporting: Track the sending of individual email campaigns and at what rates they were opened and which e-mails are not open or bounced

Rich content Integration: Addition of graphics, video, audio and test using templates,drag and drop editor

List Management: The ability to organize, segment, edit, grow and manage a database of customer or client e-mail contact information

How to implement successful e-mail marketing campaign

There are some simple tips for effective e-mail marketing

To grab the attention of your readers, make sure that your subject line or title should stand out. Need to keep message short and to the point

Your logo needs to be highlighted clearly at the top of the e-mail

Stress first two or three lines of your e-mail to make an impact

Provide link for the landing page on your website

Collect e-mail addresses at offline events like trade shows and import them into your database and send them a welcome email

Promote offers and e-mail sign up through Google plus company page

Automate scheduling for e-mail

E-mail schedule can be of great help when one has to mail same document or message to different people on regular basis in bulk. Automation of e-mails are not restricted to sending and receiving mail but also account for other activities like deleting unwanted emails automatically, save e-mail attachments into local folders, e-mail integration with text files or csv and so on. Aweber is one such platform where you can manage and automate your mail and schedule your mail according. As shown in screenshot below, we have schedule each message or tutorial on JavaScript and send to subscribers by scheduling it one after the other.

There are many e-mail service providers which does not have automation scheduling in-built, for them extensions are available and can add on this extension to their mailing system. For example, “Boomerang” which can be used in Google chrome or Firefox for scheduling e-mails. Mail Chimp is another mail manager where you can set data, time , batch delivery and so on for your mail .

Mobile App Marketing

While building your mobile App there are certain things that needs to be work out

Growing your social media presence : Building a steady social media following on Facebook, Twitter, Google+, Tumblr

Driving engagement across the app: Focus your efforts on encouraging ongoing engagement and keep updating fresh content so to prevent users from losing interest in your app

Increasing app store ratings : Try to improve rating of your app, this will drive a lot traffic to your app

Promo video for mobile APP

As a part of viral marketing campaign, a promo video is quite essential.

Create a promo videos which is short and informative.

Highlight all your app’s key features and point out why your app is better than its competitors

Also, include screen shot of your app as well

Once the video is ready you have to be active in marketing or distributing that video over the web. Post it on forums, use social sites like Facebook and twitter to reach out maximum, upload it to youtube and so on.

In the end, if you create a GREAT mobile app, people will do the marketing for you!. Here, we will see a mobile app for company Guru99.

Web Analytics

Web analytics is the study, analyses and reporting of a web data for purposes of understanding and optimizing web usage. This technique is useful to measure how many people have visited a site, and how frequent they have visited the site or what route they have opted to reach your site. Web analytics is very useful from the point of administrator as they can figure it out which area of the site is popular and which area is not.

Web analytics software can be used to monitor whether your site page are working properly or not. There are various web analytics software available in market, some of them are Google Analytics, Adobe site catalyst, IBM coremetrics web analytics, IBM’s Unica Netsight, yahoo marketing dashboard, Piwik, Moz and so on.

A good analytic tool should meet following criteria

Can you re-analyze data if you decide to change something

Can you re-analyze subsets of your logs for more focused views

How many web pages does the solution track per month

What is the total cost of ownership

Does it integrate easily with other sources of data

The Complete Digital Marketing Course

Dynamically Creating Keys In Javascript Associative Array

In this article, we are going to discuss how to create keys in a JavaScript associative array dynamically.

Associative arrays are dynamic objects that are user defined as needed. When you assign values to keys in a variable of types array, then the array is transformed into an object, and it loses the attributes and methods or array. i.e. the length attributes have no effect because the variables are no longer of the type array.

JavaScript associative arrays are same as any other literals. You can add keys to these using the square brackets notation you can add keys to these objects dynamically if the key is a string.

We will demonstrate all that and also see how to add a key method to an object to have the number of items it holds when it becomes an associative array.

Creating an Associative Array Dynamically

We can create the dynamic associative array by simply allocating a literal to a variable. Following is the syntax to do so −

var name_of_the_array = {"key1": value1, "key2": value2, "key3": value3}; Example 1

In the following example, we are trying to create an array. We need to use square brackets in the array but, since these are associative arrays we are using curly brackets instead of square brackets. We can access the contents of an associative array using the key.

var array = {“one”: 1, “two”: 2, “three”: 3}; var val = array[“two”]; document.write(JSON.stringify(val));

Example 2

Following is another example to create an associative array −

let a = { name: ‘Ayush’ }; let key = ‘age’; a[key] = 35; document.write(JSON.stringify(a));

Using Object Methods

An associative array is also an object. So, we can create it with the help of object methods, then assign keys and values.

Example 1

In the following example, we demonstrate how we can create an associative array through the object() method.

var array = new Object(); array[“Aman”] = 22; array[“Akash”] = 23; array[“Rahul”] = 24; var i = 0; for (i in array) { }

Example 2

Let us rewrite the above example using the object’s DOT methods.

var array = new Object(); chúng tôi = 22; array.Akash = 23; array.Rahul = 24; var i = 0; for (i in array) { }

Using for…in loop

Since the associative array is similar to an object we cannot use the for loop. Instead, we can use the for…in loop same as we do to traverse the elements of an object.

Unlike normal arrays, associative arrays do not have any method to get the length of an object. Hence, for this purpose, we need to create a user defined method explicitly.


In the following example, we are calculating the size of an associative array

var array = new Object(); chúng tôi = 22; array.Akash = 23; array.Rahul = 24; var count = 0; for (var key in array) { if (array.hasOwnProperty(key)) { count++; } } document.write(“Size of an Associative array: ” + count);

Update the detailed information about C# Array Tutorial: Create, Declare, Initialize on the website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!